Page 1 of 1

Fatal error from Hierarchical stage; loading Cloudant

Posted: Thu Feb 18, 2016 6:41 pm
by rjhankey
I have a job to load data to Cloudant, using the Hierarchical stage -- the stage consists of a JSON Composer, REST load, and a JSON Parser. It looks to me like the REST load step is throwing an error, and maybe it's related to file permissions on the AIX server where DataStage is installed?

Anyone have similar experiences -- or where I should continue to debug this one?

Code: Select all

JSONLoad,0: Fatal Error: 2016-02-18 19:27:51,097 Fatal [com.ibm.e2.applications.runner.E2AssemblyRunner] [] caught fatal exception
com.ibm.e2.core.exceptions.OperatorException: OperatorTransitionFailedAtRuntime operator = 'UserRuntimeOperatorFrame:Op-RT-2[CloudantLoad]',  cause = 'com.ibm.e2.util.logging.E2LoggerCreationException: error instantiating class com.ibm.e2.util.logging.jul.E2JULLogger'
	at com.ibm.e2.core.exceptions.OperatorException$FactoryImpl.operatorTransitionFailedAtRuntime(OperatorException$FactoryImpl.java:115)
	at com.ibm.e2.core.framework.runtime.OperatorController.runOperatorStep(OperatorController.java:69)
	at com.ibm.e2.core.framework.runtime.scheduler.OperatorTask.runFrame(OperatorTask.java:86)
	at com.ibm.e2.core.framework.runtime.scheduler.OperatorTask.execute(OperatorTask.java:40)
	at com.ibm.e2.core.framework.runtime.scheduler.AbstractTask.run(AbstractTask.java:27)
	at com.ibm.e2.core.framework.runtime.scheduler.TasksExecutorSingleThreaded.run(TasksExecutorSingleThreaded.java:38)
	at com.ibm.e2.core.framework.runtime.scheduler.ProcessSchedulerBase.prepare(ProcessSchedulerBase.java:74)
	at com.ibm.e2.applications.wisd.process.E2ProcessInstanceForWISDImpl.initialize(E2ProcessInstanceForWISDImpl.java:208)
	at com.ibm.e2.applications.runner.E2AssemblyRunner.initializeAssembly(E2AssemblyRunner.java:314)
	at com.ibm.e2.applications.runner.E2AssemblyRunner.run(E2AssemblyRunner.java:192)
	at com.ibm.e2.connector.datastage.cc.CC_E2Adapter.run(CC_E2Adapter.java:619)
Caused by: 
com.ibm.e2.util.logging.E2LoggerCreationException: error instantiating class com.ibm.e2.util.logging.jul.E2JULLogger
	at com.ibm.e2.util.logging.E2LoggerFactory.getLogger(E2LoggerFactory.java:106)
	at com.ibm.e2.util.logging.E2Logger.getLogger(E2Logger.java:40)
	at com.ibm.e2.provider.ws.common.RESTWSLoggerDelegate.setApacheHTTPLogger(RESTWSLoggerDelegate.java:73)
	at com.ibm.e2.provider.ws.common.RESTWSLoggerDelegate.setApacheHttpLogging(RESTWSLoggerDelegate.java:48)
	at com.ibm.e2.provider.ws.connector.RESTWSConnector.initialize(RESTWSConnector.java:96)
	at com.ibm.e2.providers.xml.AbstractXMLProviderRuntime.initializeLocalState(AbstractXMLProviderRuntime.java:204)
	at com.ibm.e2.core.framework.frames.UserRuntimeOperatorFrame.initializeLocalState(UserRuntimeOperatorFrame.java:134)
	at com.ibm.e2.core.framework.frames.AbstractRuntimeFrame.initializeLocalRuntimeState(AbstractRuntimeFrame.java:1672)
	at com.ibm.e2.core.framework.runtime.OperatorController.runAutomaticStateTransitions(OperatorController.java:387)
	at com.ibm.e2.core.framework.runtime.OperatorController.runTransitions(OperatorController.java:94)
	at com.ibm.e2.core.framework.runtime.OperatorController.runOperatorStep(OperatorController.java:63)
	... 9 more
Caused by: 
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:85)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:541)
	at com.ibm.e2.util.logging.E2LoggerFactory.getLogger(E2LoggerFactory.java:93)
	... 19 more
Caused by: 
com.ibm.e2.util.logging.E2LoggerCreationException: java.io.FileNotFoundException: /tmp/XMLStage_org.apache.http.wire_0.log (The file access permissions do not allow the specified action.)
	at com.ibm.e2.core.debug.CircularFileLoggerHandler.<init>(CircularFileLoggerHandler.java:112)
	at com.ibm.e2.provider.ws.runtime.RESTWSApacheHttpLoggerHandler.<init>(RESTWSApacheHttpLoggerHandler.java:37)
	... 24 more

Posted: Fri Feb 19, 2016 1:57 pm
by rjhankey
Based on the error message -- the process was encountering an issue writing to the file /tmp/XMLStage_org.apache.http.wire_0.log

The whole set of /tmp/XMLStage* files were set to permissions 644 as root/system

I opened a PMR with IBM, and for now I have changed the permissions on the /tmp/XMLStage* files to 777. That fixed the Java error, at least.

Now I have to figure out why the CloudantLoad (REST stage) isn't working inside my assembly -- no error messages, but no documents loaded to Cloudant either.