Problem
When WAS is configured to use Oracle JDBC, after transaction tracking is enabled for the WebSphere Applications agent data collector, a thread hung problem occurs. The following errors are reported in the WAS application message log file:
10/7/19 11:44:26:248 IST] 000000be ThreadMonitor W WSVR0605W: Thread "WebContainer : 1922" (00046f07) has been active for 605089 milliseconds and may be hung. There is/are 1 thread(s) in total in the server that may be hung.at com.ibm.tivoli.itcam.ttdc.handlers.TTDCJDBCHandler.handleJDBCConnection(TTDCJDBCHandler.java:406)at com.ibm.tivoli.itcam.ttdc.handlers.TTDCJDBCHandler.jdbcStartEvent(TTDCJDBCHandler.java:148)at com.ibm.tivoli.itcam.toolkit.ai.callbacks.captureJDBC.CallbackSQLStatement.sendStartTurboTransaction(CallbackSQLStatement.java:3211)at com.ibm.tivoli.itcam.toolkit.ai.callbacks.captureJDBC.CallbackSQLStatement.processBeforeConnClose(CallbackSQLStatement.java:3662)at com.ibm.tivoli.itcam.toolkit.ai.callbacks.captureJDBC.CallbackSQLStatement.beforeConnectionCloseInstance(CallbackSQLStatement.java:3506)at com.ibm.tivoli.itcam.toolkit.ai.callbacks.captureJDBC.CallbackSQLStatement.beforeConnectionClose(CallbackSQLStatement.java:3461)
at oracle.jdbc.driver.T4CConnection.close(T4CConnection.java)at oracle.jdbc.pool.OraclePooledConnection.close(OraclePooledConnection.java:254)
...
Solution
This problem is caused by the JDBC Transaction Tracking Handler. To solve this problem, complete the following steps:
1. Disable the JDBC instrument:
a. Navigate to the custom directory:
/websphere/APM/yndchome/7.3.0.14.04/runtime/<was_instance>/custom
For example,
/websphere/APM/yndchome/7.3.0.14.04/runtime/was85.CPOSZ1AppCell01.cPOSZ1SrvNode01.cPOSZ1AppSrv.CPOS1_Clone1/custom
/websphere/APM/yndchome/7.3.0.14.04/runtime/was85.CPOSZ1AppCell01.cPOSZ1SrvNode01.cPOSZ1AppSrv.CPOS1_Clone2/custom
b. In the custom directory, update the toolkit_custom.properties file and add the following property:
com.ibm.tivoli.itcam.toolkit.ai.enablejdbc=false
2. Restart the WAS server.