PM16870: DSRA8020E: WARNING: THE PROPERTY 'USERRASETEQUALS' DOES NOT EXIST ON THE DATASOURCE CLAS
PK75897: THE SERVANT ABENDS CAUSED BY HUNG THREADS IN JDBC DRIVER.
Error descriptionThe servant abends caused by hung threads in JDBC Driver.
After 5 minutes of seeing the hang, the control region (CR) kills the servant.
The method com.ibm.ws.rsadapter.spi.WSManagedConnectionFactor
Impl$Equals.checkPrivateCredentials() in J2C component is causing a deadlock.
This method checkPrivateCredentials() is expected to be invoked in multi threaded environment.
Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server V7.0 for z/OS *
* & distributed platforms JCA and JDBC *
****************************************************************
* PROBLEM DESCRIPTION: Selectable fix for servant abends *
* caused by hung threads in WebSphere *
* Application Server adapter component. *
****************************************************************
* RECOMMENDATION: *
****************************************************************
Method com.ibm.ws.rsadapter.spi.WSManagedConnectionFactorImpl$Equals.checkPrivateCredentials()
or checkPublicCrentials() in adapter component is causing a deadlock.
If a customer has java cores that contain this deadlock they need to enable this fix.
To enable the fix, set custom property "useRRASetEquals" to true on the datasource.
Problem conclusion
The JDK's implementation of Subject.equals() is synchronized. This fix implements an unsynchronized equals.
Only enable this fix if the java cores contain a deadlock in checkPrivateCredentials() or checkPublicCredentials().
If a customer has java cores that contain this deadlock they need to enable this fix.
To enable the fix, set custom property "useRRASetEquals" to true on the datasource.
APAR PK75897 is currently targeted for inclusion in Service Level (Fix Pack) 7.0.0.1 of
WebSphere Application Server V7.0 for z/OS.
The stack traces of the two threads involved in the deadlock show this:
"ORB.thread.pool : 0" TID:0x00000000412BCC00,
j9thread_t:0x00000200081FD4E0, state:B, prio=5 (native thread ID:0x5B85, native priority:0x5, nativepolicy:UNKNOWN)
at java/util/Collections$SynchronizedCollection.size(Collections.java:478(Compiled Code))
at java/util/AbstractSet.equals(AbstractSet.java:51(CompiledCode))
at java/util/Collections$SynchronizedSet.equals(Collections.java:831(Compiled Code))
at com/ibm/ws/rsadapter/spi/WSManagedConnectionFactoryImpl$Equals.checkPrivateCredentials(WSManagedConnectionFactoryImpl.java:3227(Compiled Code))
at com/ibm/ws/rsadapter/spi/WSManagedConnectionFactoryImpl$Equals.run(WSManagedConnectionFactoryImpl.java:3187(Compiled Code))
at com/ibm/ws/security/util/AccessController.doPrivileged(AccessController.java:63(Compiled Code))
at com/ibm/ws/rsadapter/spi/WSManagedConnectionFactoryImpl.matchManagedConnections(WSManagedConnectionFactoryImpl.java:2087(Compiled Code))
at com/ibm/ejs/j2c/FreePool.getMCWrapperFromMatch(FreePool.java:1798(Compiled Code))
at com/ibm/ejs/j2c/FreePool.getFreeConnection(FreePool.java:873(Compiled Code))
at com/ibm/ejs/j2c/PoolManager.reserve(PoolManager.java:2153(Compiled Code))
"WebContainer : 0" J9VMThread:0x0000000021675500, j9thread_t:0x0000000080C7D260, java/lang/Thread:0x0000000001C0FA80, state:B, prio=5
(native thread ID:0x3457, native priority:0x5, native policy:UNKNOWN)
(native stack address range from:0x0000020010E40000, to:0x0000020010E80000, size:0x40000)
Java callstack:
at java/util/Collections$SynchronizedCollection.size(Collections.java:476(Compiled Code))
at java/util/AbstractSet.equals(AbstractSet.java:51(Compiled Code))
at java/util/Collections$SynchronizedSet.equals(Collections.java:829(Compiled Code))
at com/ibm/ws/rsadapter/spi/WSManagedConnectionFactoryImpl$Equals.checkPrivateCredentials(WSManagedConnectionFactoryImpl.java:3309(Compiled Code))
at com/ibm/ws/rsadapter/spi/WSManagedConnectionFactoryImpl$Equals.run(WSManagedConnectionFactoryImpl.java:3275(Compiled Code))
at com/ibm/ws/security/util/AccessController.doPrivileged(AccessController.java:63(Compiled Code))
at com/ibm/ws/rsadapter/spi/WSManagedConnectionFactoryImpl.matchManagedConnections(WSManagedConnectionFactoryImpl.java:2146(Compiled Code))
at com/ibm/ejs/j2c/FreePool.getMCWrapperFromMatch(FreePool.java:1892(Compiled Code))
at com/ibm/ejs/j2c/FreePool.getFreeConnection(FreePool.java:882(Compiled Code))
at com/ibm/ejs/j2c/PoolManager.reserve(PoolManager.java:2184(Compiled Code))
at com/ibm/ejs/j2c/ConnectionManager.allocateMCWrapper(ConnectionManager.java:1059(Compiled Code))
at com/ibm/ejs/j2c/ConnectionManager.allocateConnection(ConnectionManager.java:696(Compiled Code))
at com/ibm/ws/rsadapter/jdbc/WSJdbcDataSource.getConnection(WSJdbcDataSource.java:668(Compiled Code))
at com/ibm/ws/rsadapter/jdbc/WSJdbcDataSource.getConnection(WSJdbcDataSource.java:635(Compiled Code))
댓글 없음:
댓글 쓰기