This site is currently read-only as we are migrating to Oracle Forums for an improved community experience. You will not be able to initiate activity until January 31st, when you will be able to use this site as normal.

    Forum Stats

  • 3,890,899 Users
  • 2,269,649 Discussions
  • 7,916,821 Comments

Discussions

ODI-1298: failed Caused By: java.lang.NullPointerException

Hi All,

We are dealing with the below issue and your help would be valuable to us.

In our case, a series of mappings are being executed in parallel from a load plan and inserting data from one table to another. Sometimes during the execution of these mappings, we have errors caused by NullPointerException in random steps without any other information about the cause as you can see in Error 1. Additionally, not always but sometimes we have a different mapping with connection issues like Error 2.

Do you know what is the real cause of "NullPointerEception" in this particular case and if there is a way to avoid it?

  • The agent has been installed in a different database.
  • Oracle Data integrator version: 12.2.1.4.221007
  • Autonomous Data Warehouse
  • IKM Oracle Control Append

Error 1:

ODI-1217: Session DO_LOAD_ADW_VALIDATED_DETAIL_FACT (483744) fails with return code ODI-1298.
ODI-1226: Step LOAD_ADW_VALIDATED_DETAIL_FACT fails after 1 attempt(s).
ODI-1240: Flow LOAD_ADW_VALIDATED_DETAIL_FACT fails while performing a insert FK errors-CKM Oracle- operation. This flow loads target table VALIDATED_DETAIL_FACT.
ODI-1298: Serial task "SERIAL-MAP_MAIN- (10)" failed because child task "SERIAL-EU-LGC_TARGET_ADW_UNIT (20)" is in error.
ODI-1298: Serial task "SERIAL-EU-LGC_TARGET_ADW_UNIT (20)" failed because child task "insert FK errors-CKM Oracle- (180)" is in error.
Caused By: java.lang.NullPointerException
	at oracle.odi.runtime.agent.execution.sql.SQLCommand.doInitializeStatement(SQLCommand.java:115)
	at oracle.odi.runtime.agent.execution.sql.SQLCommand.getStatement(SQLCommand.java:148)
	at oracle.odi.runtime.agent.execution.sql.SQLCommand.getStatement(SQLCommand.java:142)
	at oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:189)
	at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:142)
	at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:28)
	at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:52)
	at oracle.odi.runtime.agent.execution.SessionTask.processTask(SessionTask.java:217)
	at oracle.odi.runtime.agent.execution.SessionTask.doExecuteTask(SessionTask.java:129)
	at oracle.odi.runtime.agent.execution.AbstractSessionTask.execute(AbstractSessionTask.java:892)
	at oracle.odi.runtime.agent.execution.SessionExecutor$SerialTrain.runTasks(SessionExecutor.java:2234)
	at oracle.odi.runtime.agent.execution.SessionExecutor.executeSession(SessionExecutor.java:613)
	at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:718)
	at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:611)
	at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:203)
	at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.doProcessStartAgentTask(TaskExecutorAgentRequestProcessor.java:800)
	at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.access$2700(StartScenRequestProcessor.java:85)
	at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:923)
	at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:180)
	at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:108)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)
	at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)


Error 2:

ODI-1217: Session DO_LOAD_ADW_ENTITY_FACT (483739) fails with return code ODI-1298.
ODI-1226: Step LOAD_ADW_ENTITY_FACT fails after 1 attempt(s).
ODI-1240: Flow LOAD_ADW_ENTITY_FACT fails while performing a insert FK errors-CKM Oracle- operation. This flow loads target table ENTITY_FACT.
ODI-1298: Serial task "SERIAL-MAP_MAIN- (10)" failed because child task "SERIAL-EU-LGC_TARGET_ADW_UNIT (20)" is in error.
ODI-1298: Serial task "SERIAL-EU-LGC_TARGET_ADW_UNIT (20)" failed because child task "insert FK errors-CKM Oracle- (240)" is in error.
ODI-1228: Task insert FK errors-CKM Oracle- fails on the target connection IPTO_ADWH - Prod.
Caused By: java.sql.SQLRecoverableException: IO Error: Connection reset by peer
	at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:952)
	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1280)
	at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1921)
	at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1876)
	at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:304)
	at oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:208)
	at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:142)
	at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:28)
	at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:52)
	at oracle.odi.runtime.agent.execution.SessionTask.processTask(SessionTask.java:217)
	at oracle.odi.runtime.agent.execution.SessionTask.doExecuteTask(SessionTask.java:129)
	at oracle.odi.runtime.agent.execution.AbstractSessionTask.execute(AbstractSessionTask.java:892)
	at oracle.odi.runtime.agent.execution.SessionExecutor$SerialTrain.runTasks(SessionExecutor.java:2234)
	at oracle.odi.runtime.agent.execution.SessionExecutor.executeSession(SessionExecutor.java:613)
	at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:718)
	at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:611)
	at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:203)
	at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.doProcessStartAgentTask(TaskExecutorAgentRequestProcessor.java:800)
	at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.access$2700(StartScenRequestProcessor.java:85)
	at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:923)
	at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:180)
	at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:108)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)
	at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Connection reset by peer
	at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:197)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:378)
	at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:175)
	at oracle.net.nt.SSLSocketChannel.readFromSocket(SSLSocketChannel.java:561)
	at oracle.net.nt.SSLSocketChannel.fillReadBuffer(SSLSocketChannel.java:329)
	at oracle.net.nt.SSLSocketChannel.fillAndUnwrap(SSLSocketChannel.java:259)
	at oracle.net.nt.SSLSocketChannel.read(SSLSocketChannel.java:110)
	at oracle.net.ns.NSProtocolNIO.doSocketRead(NSProtocolNIO.java:571)
	at oracle.net.ns.NIOPacket.readHeader(NIOPacket.java:259)
	at oracle.net.ns.NIOPacket.readPacketFromSocketChannel(NIOPacket.java:191)
	at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:133)
	at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:106)
	at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:92)
	at oracle.jdbc.driver.T4CMAREngineNIO.prepareForUnmarshall(T4CMAREngineNIO.java:765)
	at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:430)
	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:408)
	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:269)
	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:656)
	at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:230)
	at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:42)
	at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:929)
	... 28 more



Thank you in advance