IBM Support

FileNotFoundException exception while running migration (upgrade history table target) from 7.11 to 8.0

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/Sterling/Applications/logs does not exist.

 

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.

 

[{"Product":{"code":"SS6PEW","label":"IBM Sterling Order Management"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"Not Applicable","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Historical Number

NFX7246

Product Synonym

[<p><b>]Severity[</b><p>];Critical

Document Information

Modified date:
16 June 2018

UID

swg21556959