ODI-1274: resourcepool; Could not get JDBC Connection; ResourceDeadException

Recently a lot of our batch processes started failing because of ODI-1274: Agent Exception error :-

<Aug 30, 2016 8:48:57 PM BST> <Error> <oracle.soa.bpel.engine.ws> <BEA-000000> <got FabricInvocationException 
oracle.j2ee.ws.client.jaxws.JRFSOAPFaultException: Client received SOAP Fault from server : ODI-1274: Agent Exception 
Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: IO Error: Socket read timed out 
at oracle.j2ee.ws.client.jaxws.DispatchImpl. 

<Aug 30, 2016 8:48:57 PM BST> <Error> <oracle.soa.bpel.engine.ws> <BEA-000000> <got FabricInvocationException 
oracle.j2ee.ws.client.jaxws.JRFSOAPFaultException: Client received SOAP Fault from server : ODI-1274: Agent Exception 
Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: weblogic.common.resourcepool.ResourceDeadException: 0:weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: IO Error: Socket read timed out 
at oracle.j2ee.ws.client.jaxws.DispatchImpl.

It looked like the ODI datasource was unable to construct a connection to the database due to above error. Upon analysis I found out the root cause of the issue was the default timeout to construct a database connection was set too low (oracle.net.CONNECT_TIMEOUT=3600), which is 36 secs.

To resolve the issue, increase the oracle.net.CONNECT_TIMEOUT setting.
1) Open the WebLogic Server Console
2) Navigate to Services -> Data Sources
3) Click on the <target> data source
4) Navigate to the “Connection Pool” tab
5) In the Properties box, change
oracle.net.CONNECT_TIMEOUT=3600
to
oracle.net.CONNECT_TIMEOUT=20000
and press the save button.
6) Restart the managed managed server instance and verify that there are no more errors during the startup.

Hope it helps.

 

 

Related Posts:

Leave a Reply