Troubleshooting
Problem
FileNotFoundException exception while running migration (upgrade history table target) from 7.11 to 8.0
Symptom
While running upgrade-history-tables target during Foundation migration from 7.11 to 8.0 the error given below occurred:
Error Message [java] [java] log4j:ERROR setFile(null,true) call failed.
[java] [java] java.io.FileNotFoundException: (No such file or directory)
[java] [java] at java.io.FileOutputStream.openAppend(Native Method)
[java] [java] at java.io.FileOutputStream.<init>(FileOutputStream.java:203)
[java] [java] at java.io.FileOutputStream.<init>(FileOutputStream.java:128)
[java] [java] at org.apache.log4j.FileAppender.setFile(FileAppender.java:289)
[java] [java] at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:165)
[java] [java] at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163)
[java] [java] at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:220)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:150)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:163)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:425)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:345)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:827)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:712)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:618)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:743)
[java] [java] at com.yantra.yfc.log.YFCLogManager.configureLogging(YFCLogManager.java:179)
[java] [java] at com.yantra.yfs.core.YFSSystem.setLoggerProperties(YFSSystem.java:141)
[java] [java] at com.yantra.yfs.core.YFSSystem.init(YFSSystem.java:72)
[java] [java] at com.yantra.yfs.core.YFSSystem.<clinit>(YFSSystem.java:47)
[java] [java] at java.lang.J9VMInternals.initializeImpl(Native Method)
[java] [java] at java.lang.J9VMInternals.initialize(J9VMInternals.java:194)
[java] [java] at com.yantra.tools.migrator.MigratorMain.performMigration(MigratorMain.java:76)
[java] [java] at com.yantra.tools.migrator.MigratorMain.main(MigratorMain.java:156)
[java] [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
[java] [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] [java] at java.lang.reflect.Method.invoke(Method.java:618)
[java] [java] at com.sterlingcommerce.woodstock.noapp.NoAppLoader.main(NoAppLoader.java:78)
[java] [java] log4j:ERROR setFile(null,true) call failed.
[java] [java] java.io.FileNotFoundException: /app/yandev15/Sterling/Applications/logs/login_ip_details.log (No such file or directory)
[java] [java] at java.io.FileOutputStream.openAppend(Native Method)
[java] [java] at java.io.FileOutputStream.<init>(FileOutputStream.java:203)
[java] [java] at java.io.FileOutputStream.<init>(FileOutputStream.java:128)
[java] [java] at org.apache.log4j.FileAppender.setFile(FileAppender.java:289)
[java] [java] at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:165)
[java] [java] at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163)
[java] [java] at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:220)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:150)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:163)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:425)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:345)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:827)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:712)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:618)
[java] [java] at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:743)
[java] [java] at com.yantra.yfc.log.YFCLogManager.configureLogging(YFCLogManager.java:179)
[java] [java] at com.yantra.yfs.core.YFSSystem.setLoggerProperties(YFSSystem.java:141)
[java] [java] at com.yantra.yfs.core.YFSSystem.init(YFSSystem.java:72)
[java] [java] at com.yantra.yfs.core.YFSSystem.<clinit>(YFSSystem.java:47)
[java] [java] at java.lang.J9VMInternals.initializeImpl(Native Method)
[java] [java] at java.lang.J9VMInternals.initialize(J9VMInternals.java:194)
[java] [java] at com.yantra.tools.migrator.MigratorMain.performMigration(MigratorMain.java:76)
[java] [java] at com.yantra.tools.migrator.MigratorMain.main(MigratorMain.java:156)
[java] [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
[java] [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] [java] at java.lang.reflect.Method.invoke(Method.java:618)
[java] [java] at com.sterlingcommerce.woodstock.noapp.NoAppLoader.main(NoAppLoader.java:78)
Resolving The Problem
<meta name="ProgId" content="Word.Document"> <meta name="Generator" content="Microsoft Word 11"> <meta name="Originator" content="Microsoft Word 11"> <link rel="File-List" href="file:///C:\DOCUME~1\DBALWA~1\LOCALS~1\Temp\msohtml1\01\clip_filelist.xml" />
<style type="text/css"> The above problem is happening because of improper configuration of log4j.
The first exception "java.io.FileNotFoundException: (No such file or directory)" can be when we have configured ROLLINGFILE_APPENDER inside log4j file to take the log directory dynamically as a java parameter while starting the JVM as shown below:
<appender name="ROLLINGFILE_APPENDER" class="org.apache.log4j.RollingFileAppender">
<param name="MaxFileSize" value="6048KB" />
<param name="MaxBackupIndex" value="0" />
<param name="File" value="${LOG_FILE}" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d:%-7p:%t: %-60m: %-25c{1.EN_US}%n"/>
</layout>
</appender>
While performing the upgrade, the system writes certain information into these log files configured in log4jconfig.xml although the primary log information is written into <logfile> set in the command. If the absolute path is not given then the system will throw a file not found exception.
A second file not found exception in the above error stack trace can be because the dir structure /app/yandev18/
Note: In the MCF, upgrade guide gives no action plan in case this command fails. It has been confirmed that this target can be rerun after deleting the *.done files created by this target. Re-running this will not cause any problems.
Historical Number
NFX7246
Product Synonym
[<p><b>]Severity[</b><p>];Critical
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21556959