New transaction timed out in another transaction

Discussions

EJB programming & troubleshooting: New transaction timed out in another transaction

  1. New transaction timed out in another transaction (1 messages)

    I have a long running transaction (timeout set to 2 hours). Before the end of this transaction, I need to use requiresNew to start another transaction to do some other work. I traced through the first transaction in the debugger and it stepped through (including the second transaction) without problems (within 15 mins). After the control goes back to Weblogic, the second transaction timed out (in 30 seconds as specified). What could be the problem? Here is some stack trace for the first transaction. It seems that the second transaction was blocked by the first transaction until it times out. It does a very simple row update and should not need 30 seconds. at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1809) at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:331) at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227) at weblogic.ejb.container.internal.BaseEJBObject.postInvoke1(BaseEJBObject.java:546) at weblogic.ejb.container.internal.StatelessEJBObject.postInvoke1(StatelessEJBObject.java:72) at weblogic.ejb.container.internal.BaseEJBObject.postInvokeTxRetry(BaseEJBObject.java:381)

    Threaded Messages (1)

  2. reply[ Go to top ]

    could be that a database entity which transaction 2 is trying to update is already locked by transaction 1 and wont be released till transaction 1 is committed - welcome to world of 'deadlock'.