Data is not imported into data sources after database connection is interrupted
If the database connection is lost and later regained,
data import stops working for existing data sources. Also, it is not
possible to either create or run an analysis.
Symptoms
After the database connection
is interrupted, errors are displayed in the log files. The following
example shows a sample of the errors:
com.ibm.db2.jcc.am.SqlException: [jcc][10120][10943][3.63.75]
Invalid operation: statement is closed. ERRORCODE=-4470, SQLSTATE=null
at com.ibm.db2.jcc.am.fd.a(fd.java:663)
at com.ibm.db2.jcc.am.fd.a(fd.java:60)
at com.ibm.db2.jcc.am.fd.a(fd.java:103)
at com.ibm.db2.jcc.am.yn.wb(yn.java:4177)
at com.ibm.db2.jcc.am.yn.a(yn.java:1695)
at com.ibm.db2.jcc.am.yn.getMoreResults(yn.java:1095)
at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.closeWrapper
(WSJdbcPreparedStatement.java:317)
at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:185)
at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:141)
at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.closeChildWrappers(WSJdbcObject.java:236)
at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:183)
at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:141)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.closeHandles
(WSRdbManagedConnectionImpl.java:4226)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processConnectionErrorOccurredEvent
(WSRdbManagedConnectionImpl.java:2055)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processConnectionErrorOccurredEvent
(WSRdbManagedConnectionImpl.java:1955)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.connectionErrorOccurred
(WSRdbManagedConnectionImpl.java:769)
at com.ibm.db2.jcc.DB2PooledConnection.trashConnection(DB2PooledConnection.java:670)
...
Also, if you attempt to either create or run an
analysis, the log files indicate a broken pipe, as shown in the following
example:
[12/14/15 11:13:18:337 GMT] 00000298 com.ibm.ejs.j2c.ConnectionEventListener
A J2CA0056I: The Connection Manager received a fatal connection error from the
Resource Adapter for resource jdbc/iocdata. The exception is:
com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException:
[jcc][t4][2030][11211][3.63.75] A communication error occurred during
operations on the connection's underlying socket, socket input stream,
or socket output stream.
Error location: T4Agent.sendRequest() - flush (-1). Message: Broken pipe.
ERRORCODE=-4499, SQLSTATE=08001:java.net.SocketException: Broken pipe
[12/14/15 11:13:18:340 GMT] 0000029a com.ibm.ioc.logger.DataSourceLogger I
com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2030][11211][3.63.75]
A communication error occurred during operations on the connection's
underlying socket, socket input stream,or socket output stream.
Error location: T4Agent.sendRequest() - flush (-1).
Message: Broken pipe. ERRORCODE=-4499, SQLSTATE=08001
at com.ibm.db2.jcc.am.fd.a(fd.java:321)
at com.ibm.db2.jcc.t4.a.a(a.java:488)
at com.ibm.db2.jcc.t4.a.a(a.java:483)
Resolving the problem
When the database is restarted, stale connections might be maintained by the database connection pool. To resolve the issue, restart the WebSphere® Application Server Liberty Profile server.