Originally posted by Valentin Tanase:
Hi Pereira,
Can you post that remote exception?
First of all, you must be able to reproduce the issue either in QA or dev environment, otherwise you'll probably never be able to fix it.
There is however couple of more things you should try:
Set the transaction timeout interval to a higher value. This usually could be done when setting the JTA service.Check the transaction log files for detailed errors.
Regards.
Actually thats the problem, this happens only on the production environment. There have been about 10 occurances over a 3 month period. And two kinds of exceptions were there in APP1 application log.
REMOTE EXCEPTION + TIMEOUT
2005-04-28 10:02:51,384 | FATAL | com.xxxxxxx.yyyyyyy.cash.customerfiles.BulkPayFilePostProcessBean:executeSP_FilePostProcessing(493) | In Exception of BulkPayFilePostProcessBeanjava.rmi.RemoteException: Message was not sent because transaction is not active. Name=[EJB com.xxxxxxx.yyyyyyy.cash.customerfiles.BulkPayFilePostProcessBean.postProcessFile(java.lang.String)],Xid=247:6b19285286657b2c(4087840),Status=Rolled back. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 30 seconds
Name=[EJB com.xxxxxxx.yyyyyyy.cash.customerfiles.BulkPayFilePostProcessBean.postProcessFile(java.lang.String)],Xid=247:6b19285286657b2c(4087840),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=30,seconds left=30,activeThread=Thread[batchchild,5,BulkThreadGroup],SCInfo[app1.yyyyyyy.com+myapp1server]=(state=active),properties=({weblogic.transaction.name=[EJB com.xxxxxxx.yyyyyyy.cash.customerfiles.BulkPayFilePostProcessBean.postProcessFile(java.lang.String)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myapp1server+172.31.29.78:7002+app1.yyyyyyy.com+, Resources={})],CoordinatorURL=myapp1server+172.31.29.78:7002+app1.yyyyyyy.com+)],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=77,seconds left=4,activeThread=Thread[batchchild,5,BulkThreadGroup],SCInfo[app1.yyyyyyy.com+myapp1server]=(state=rolledback),properties=({weblogic.transaction.name=[EJB com.xxxxxxx.yyyyyyy.cash.customerfiles.BulkPayFilePostProcessBean.postProcessFile(java.lang.String)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myapp1server+172.31.29.78:7002+app1.yyyyyyy.com+, Resources={})],CoordinatorURL=myapp1server+172.31.29.78:7002+app1.yyyyyyy.com+)
ONLY TIMEOUT NO REMOTE EXCEPTION
2005-04-28 12:13:58,528 | FATAL | com.xxxxxxx.yyyyyyy.cash.customerfiles.BulkPayFilePostProcessBean:executeSP_FilePostProcessing(493) | In Exception of BulkPayFilePostProcessBeanjavax.transaction.TransactionRolledbackException: Transaction timed out after 32 seconds
Name=[EJB com.xxxxxxx.yyyyyyy.cash.customerfiles.BulkPayFilePostProcessBean.postProcessFile(java.lang.String)],Xid=255:6b19285286657b2c(4599563),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=32,seconds left=30,activeThread=Thread[batchchild,5,BulkThreadGroup],SCInfo[app1.yyyyyyy.com+myapp1server]=(state=active),properties=({weblogic.transaction.name=[EJB com.xxxxxxx.yyyyyyy.cash.customerfiles.BulkPayFilePostProcessBean.postProcessFile(java.lang.String)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myapp1server+172.31.29.78:7002+app1.yyyyyyy.com+, Resources={})],CoordinatorURL=myapp1server+172.31.29.78:7002+app1.yyyyyyy.com+)
Start server side stack trace:
weblogic.transaction.internal.TimedOutException: Transaction timed out after 32 seconds
Name=[EJB com.xxxxxxx.yyyyyyy.cash.customerfiles.BulkPayFilePostProcessBean.postProcessFile(java.lang.String)],Xid=255:6b19285286657b2c(4599563),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=32,seconds left=30,activeThread=Thread[batchchild,5,BulkThreadGroup],SCInfo[app1.yyyyyyy.com+myapp1server]=(state=active),properties=({weblogic.transaction.name=[EJB com.xxxxxxx.yyyyyyy.cash.customerfiles.BulkPayFilePostProcessBean.postProcessFile(java.lang.String)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myapp1server+172.31.29.78:7002+app1.yyyyyyy.com+, Resources={})],CoordinatorURL=myapp1server+172.31.29.78:7002+app1.yyyyyyy.com+)
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1124)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:466)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1604)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:429)
at weblogic.transaction.internal.TransactionManagerImpl$1.run(TransactionManagerImpl.java:1570)
at java.lang.Thread.run(Thread.java:479)
End server side stack trace
After the initial occurance, the JTA was changed from 30 sec in App1 to 120 sec (same as App2)
I have not checked txn logs. Are these in ascii or do i need to do something else to read them?
Hope the info sheds more light.
Regards,
Pereira