[jboss-user] Recovery from deadlocks on JBoss 5.1.0

Jari Juslin zds at iki.fi
Fri May 27 08:02:46 EDT 2011


Hello,

everyone. We recently switched from JBoss 4 to JBoss 5, and consequently 
started migrating our EJB2.1 beans to EJB3. Now the deployment EAR is a 
mix of both, and recovery from deadlocks has been found to be broken.

What happens is that first we have a regular deadlock, where transaction 
fails as it should. All is well here (on JBoss and MySQL side, that is).

Example of a deadlock:

23.05 10:27:31,008 ERROR 
[org.jboss.ejb.plugins.cmp.jdbc.keygen.JDBC30GeneratedKeysCreateCommand.TripEvent] 
(NioProcessor-2:VTD_65/FORM) Could not create entity
com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: 
Deadlock found when trying to get lock; try restarting transaction
         at 
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
         at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
         at com.mysql.jdbc.Util.getInstance(Util.java:382)
         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1064)
         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)
         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)
         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)
         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)
         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
         at 
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)
         at 
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)
         at 
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)
         at 
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)
         at 
com.mysql.jdbc.jdbc2.optional.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:875)
         at 
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:365)
         at 
org.jboss.ejb.plugins.cmp.jdbc.keygen.JDBC30GeneratedKeysCreateCommand.executeInsert(JDBC30GeneratedKeysCreateCommand.java:87)
         at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.performInsert(JDBCAbstractCreateCommand.java:322)
         at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.execute(JDBCAbstractCreateCommand.java:151)
         at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreManager.java:587)
         at 
org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManager.java:237)
         at 
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createEntity(CachedConnectionInterceptor.java:223)
         at 
org.jboss.ejb.EntityContainer.createLocalHome(EntityContainer.java:638)
         at sun.reflect.GeneratedMethodAccessor400.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.jboss.invocation.Invocation.performCall(Invocation.java:386)
         at 
org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1139)
         at 
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:106)
         at 
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:203)
         at 
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:187)
         at 
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:106)
         at 
org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:137)
         at 
org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:76)
         at 
org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:45)
         at 
org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:56)
         at 
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:125)
         at 
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
         at 
org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:161)
         at 
org.jboss.ejb.plugins.SecurityInterceptor.process(SecurityInterceptor.java:230)
         at 
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:205)
         at 
org.jboss.ejb.plugins.security.PreSecurityInterceptor.process(PreSecurityInterceptor.java:99)
         at 
org.jboss.ejb.plugins.security.PreSecurityInterceptor.invokeHome(PreSecurityInterceptor.java:88)
         at 
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:132)
         at 
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:107)
         at 
org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:527)
         at org.jboss.ejb.Container.invoke(Container.java:1046)
         at 
org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:362)
         at 
org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:133)
         at $Proxy637.create(Unknown Source)


However, after the deadlock random other transactions start to fail like 
this:

42521[state=NORMAL 
mc=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection at 7fd1ae77 
handles=1 lastUse=1306160850834 permit=true trackByTx=true 
mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool at 3427
6ff3 
context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool at 926d545 
xaResource=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection at 7fd1ae77 
txSync=null]
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications 
link failure

The last packet successfully received from the server was 485 
milliseconds ago.  The last packet sent successfully to the server was 
447 milliseconds ago.
         at 
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
         at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
         at 
com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3092)
         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2978)
         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3526)
         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)
         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)
         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
         at 
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)
         at 
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)
         at 
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)
         at 
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)
         at 
com.mysql.jdbc.jdbc2.optional.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:875)
         at 
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:365)
         at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.execute(JDBCStoreEntityCommand.java:150)
         at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.storeEntity(JDBCStoreManager.java:666)
         at 
org.jboss.ejb.plugins.CMPPersistenceManager.storeEntity(CMPPersistenceManager.java:428)
         at 
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.storeEntity(CachedConnectionInterceptor.java:271)
         at 
org.jboss.ejb.EntityContainer.storeEntity(EntityContainer.java:769)
         at 
org.jboss.ejb.GlobalTxEntityMap$2.synchronize(GlobalTxEntityMap.java:158)
         at 
org.jboss.ejb.GlobalTxEntityMap$GlobalTxSynchronization.synchronize(GlobalTxEntityMap.java:328)
         at 
org.jboss.ejb.GlobalTxEntityMap.synchronizeEntities(GlobalTxEntityMap.java:241)
         at 
org.jboss.ejb.EntityContainer.synchronizeEntitiesWithinTransaction(EntityContainer.java:138)
         at 
org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:671)
         at sun.reflect.GeneratedMethodAccessor381.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.jboss.invocation.Invocation.performCall(Invocation.java:386)
         at 
org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1139)
         at 
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:106)
         at 
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:203)
         at 
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:187)
         at 
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:106)
         at 
org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:137)
         at 
org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:76)
         at 
org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:45)
         at 
org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:56)
         at 
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:125)
         at 
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
         at 
org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:161)
         at 
org.jboss.ejb.plugins.SecurityInterceptor.process(SecurityInterceptor.java:230)
         at 
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:205)
         at 
org.jboss.ejb.plugins.security.PreSecurityInterceptor.process(PreSecurityInterceptor.java:99)
         at 
org.jboss.ejb.plugins.security.PreSecurityInterceptor.invokeHome(PreSecurityInterceptor.java:88)
         at 
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:132)
         at 
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:107)
         at 
org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:527)
         at org.jboss.ejb.Container.invoke(Container.java:1046)
         at 
org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:362)
         at 
org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:133)
         at $Proxy649.findAlert(Unknown Source)
         at 
com.ecolane.mpk.alert.beans.AlertBackendBean.resolveAlerts(AlertBackendBean.java:696)
---
Caused by: java.io.EOFException: Can not read response from server. 
Expected to read 4 bytes, read 0 bytes before connection was 
unexpectedly lost.
         at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2539)
         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2989)
         ... 232 more


And:
The last packet successfully received from the server was 257 
milliseconds ago.  The last packet sent successfully to the server was 
257 milliseconds ago.
23.05 10:27:31,507 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.mapXAExceptionFromSQLException(MysqlXAConnection.java:605)
23.05 10:27:31,507 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.dispatchCommand(MysqlXAConnection.java:584)
23.05 10:27:31,507 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.start(MysqlXAConnection.java:524)
23.05 10:27:31,507 ERROR [org.jboss.ejb.plugins.cmp.jdbc.JDBCUtil] 
(NioProcessor-2:VTD_65/FORM) SQL error
java.lang.NullPointerException
         at 
com.mysql.jdbc.jdbc2.optional.JDBC4MysqlXAConnection.fireStatementEvent(JDBC4MysqlXAConnection.java:94)
         at 
com.mysql.jdbc.jdbc2.optional.JDBC4PreparedStatementWrapper.close(JDBC4PreparedStatementWrapper.java:84)
         at 
org.jboss.resource.adapter.jdbc.WrappedStatement.internalClose(WrappedStatement.java:881)
         at 
org.jboss.resource.adapter.jdbc.WrappedStatement.close(WrappedStatement.java:79)
         at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCUtil.safeClose(JDBCUtil.java:107)
         at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.execute(JDBCStoreEntityCommand.java:162)
         at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.storeEntity(JDBCStoreManager.java:666)
         at 
org.jboss.ejb.plugins.CMPPersistenceManager.storeEntity(CMPPersistenceManager.java:428)
         at 
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.storeEntity(CachedConnectionInterceptor.java:271)
         at 
org.jboss.ejb.EntityContainer.storeEntity(EntityContainer.java:769)
         at 
org.jboss.ejb.GlobalTxEntityMap$2.synchronize(GlobalTxEntityMap.java:158)
         at 
org.jboss.ejb.GlobalTxEntityMap$GlobalTxSynchronization.synchronize(GlobalTxEntityMap.java:328)
         at 
org.jboss.ejb.GlobalTxEntityMap.synchronizeEntities(GlobalTxEntityMap.java:241)
         at 
org.jboss.ejb.EntityContainer.synchronizeEntitiesWithinTransaction(EntityContainer.java:138)
         at 
org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:671)
         at sun.reflect.GeneratedMethodAccessor381.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.jboss.invocation.Invocation.performCall(Invocation.java:386)
         at 
org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1139)
         at 
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:106)
         at 
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:203)
         at 
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:187)
         at 
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:106)
         at 
org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:137)
         at 
org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:76)
         at 
org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:45)
         at 
org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:56)
         at 
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:125)
         at 
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
         at 
org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:161)
         at 
org.jboss.ejb.plugins.SecurityInterceptor.process(SecurityInterceptor.java:230)
         at 
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:205)
         at 
org.jboss.ejb.plugins.security.PreSecurityInterceptor.process(PreSecurityInterceptor.java:99)
         at 
org.jboss.ejb.plugins.security.PreSecurityInterceptor.invokeHome(PreSecurityInterceptor.java:88)
         at 
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:132)
         at 
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:107)
         at 
org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:527)
         at org.jboss.ejb.Container.invoke(Container.java:1046)
         at 
org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:362)
         at 
org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:133)
         at $Proxy649.findAlert(Unknown Source)

And:
23.05 10:27:31,507 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:213)
23.05 10:27:31,509 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:799)
23.05 10:27:31,509 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:510)
23.05 10:27:31,509 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.enlist(TxConnectionManager.java:908)
23.05 10:27:31,509 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:662)
23.05 10:27:31,509 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:403)
23.05 10:27:31,509 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:625)
23.05 10:27:31,509 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:499)
23.05 10:27:31,509 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941)
23.05 10:27:31,509 ERROR [org.jboss.ejb.plugins.LogInterceptor] 
(NioProcessor-2:VTD_65/FORM) TransactionRolledbackLocalException in 
method: public abstract java.util.Collection 
com.ecolane.mpk.db.interfaces.AlertLocalHome.findAlert(java.lang.Integer,java.lang.Integer) 
throws javax.ejb.FinderException, causedBy:
org.jboss.util.NestedSQLException: Error
         at 
org.jboss.resource.adapter.jdbc.WrappedConnection.checkException(WrappedConnection.java:873)
         at 
org.jboss.resource.adapter.jdbc.WrappedStatement.checkException(WrappedStatement.java:852)
         at 
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:369)
         at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.execute(JDBCStoreEntityCommand.java:150)
         at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.storeEntity(JDBCStoreManager.java:666)
         at 
org.jboss.ejb.plugins.CMPPersistenceManager.storeEntity(CMPPersistenceManager.java:428)
         at 
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.storeEntity(CachedConnectionInterceptor.java:271)
         at 
org.jboss.ejb.EntityContainer.storeEntity(EntityContainer.java:769)
         at 
org.jboss.ejb.GlobalTxEntityMap$2.synchronize(GlobalTxEntityMap.java:158)
         at 
org.jboss.ejb.GlobalTxEntityMap$GlobalTxSynchronization.synchronize(GlobalTxEntityMap.java:328)
         at 
org.jboss.ejb.GlobalTxEntityMap.synchronizeEntities(GlobalTxEntityMap.java:241)
         at 
org.jboss.ejb.EntityContainer.synchronizeEntitiesWithinTransaction(EntityContainer.java:138)
         at 
org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:671)
         at sun.reflect.GeneratedMethodAccessor381.invoke(Unknown Source)
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.jboss.invocation.Invocation.performCall(Invocation.java:386)
         at 
org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1139)
         at 
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:106)
         at 
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:203)
         at 
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:187)
         at 
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:106)
         at 
org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:137)
         at 
org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:76)
         at 
org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:45)
         at 
org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:56)
         at 
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:125)
         at 
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
         at 
org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:161)
         at 
org.jboss.ejb.plugins.SecurityInterceptor.process(SecurityInterceptor.java:230)
         at 
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:205)
         at 
org.jboss.ejb.plugins.security.PreSecurityInterceptor.process(PreSecurityInterceptor.java:99)
         at 
org.jboss.ejb.plugins.security.PreSecurityInterceptor.invokeHome(PreSecurityInterceptor.java:88)
         at 
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:132)
         at 
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:107)
         at 
org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:527)
         at org.jboss.ejb.Container.invoke(Container.java:1046)
         at 
org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:362)
         at 
org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:133)
         at $Proxy649.findAlert(Unknown Source)

And:
23.05 10:27:31,509 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:160)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:88)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:646)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:628)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.CMPPersistenceManager.loadEntity(CMPPersistenceManager.java:406)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.loadEntity(CachedConnectionInterceptor.java:250)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:243)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:156)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke(EntityReentranceInterceptor.java:126)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:279)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:104)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterceptor.java:76)
23.05 10:27:31,510 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.SecurityInterceptor.process(SecurityInterceptor.java:228)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:211)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.security.PreSecurityInterceptor.process(PreSecurityInterceptor.java:97)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.security.PreSecurityInterceptor.invoke(PreSecurityInterceptor.java:81)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.EntityContainer.internalInvoke(EntityContainer.java:533)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at org.jboss.ejb.Container.invoke(Container.java:1029)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:436)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
org.jboss.ejb.plugins.local.EntityProxy.invoke(EntityProxy.java:65)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at $Proxy686.getControllingSystem(Unknown Source)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
com.ecolane.mpk.routing.data.CandidateRouteFormer.runAvailable(CandidateRouteFormer.java:2756)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
com.ecolane.mpk.routing.data.CandidateRouteFormer.formCombiningCandidates(CandidateRouteFormer.java:354)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
com.ecolane.mpk.routing.data.CandidateRouteFormer.access$200(CandidateRouteFormer.java:82)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
com.ecolane.mpk.routing.data.CandidateRouteFormer$ConcurrentCombiningCandidateFormer.process(CandidateRouteFormer.java:6258)
23.05 10:27:31,511 ERROR [STDERR] (k3-ProcessingThread-crf-1:Tcrf-1 
11832 23513)        at 
com.ecolane.mpk.routing.data.ProcessingThread.run(ProcessingThread.java:95)

So, after the deadlock DB connections go all bonkers, and the server 
does not do much else than throw various kinds of exceptions at very 
high rate.

My question is: What can I do to fix the situation? What happened before 
(with JBoss 5 and all EJB2.1 beans) was that on deadlock the transaction 
leading to it was rolled back, and the server continued to work normally 
after it. Now the server is as good as dead after the first deadlock. 
How do I get into similar situation with JBoss 5 and mixed bag of EJB2.1 
and EJB3 beans?


	-Jari


More information about the jboss-user mailing list