-
1. Re: TransactionManager.getTransaction() is returning transaction which is in aborted state
jayantvaish5 Mar 13, 2015 9:03 AM (in response to jayantvaish5)Can this issue is because of [JBAS-5189] Txn-Manager arjuna commits data after timeout in long transactions - JBoss Issue Tracker ?
-
2. Re: TransactionManager.getTransaction() is returning transaction which is in aborted state
tomjenkinson Mar 13, 2015 9:47 AM (in response to jayantvaish5)Wow - that is certainly an old version of the app server!
The issue is most likely related to the fact that the transaction reaper has rolled back the transaction because it has timed out. In this case components are prevented from registering new Synchronizations with the transaction. You will probably be able to find other warning messages in the logs related to something called the "Transaction Reaper" - that is the architectural component responsible for rolling back transactions that have timed out.
I can't give too much further advice here because the version of the application server is before my time. I know that the current version of the EJB CMT interceptor pops the transaction off the thread with a Transaction.suspend() if the TX is in state rolled back after CMT returns. Maybe the version of the app server you are using had a bug where that didn't happen?
If you have purchased support for EAP 4, I recommend going via that route to get further assistance. Alternatively if you are a community user I suggest upgrading to the current version of the application server (WildFly: WildFly Homepage · WildFly) and trying to replicate your issue there.
Thanks for your continued interest in Narayana,
Tom
-
3. Re: TransactionManager.getTransaction() is returning transaction which is in aborted state
tomjenkinson Mar 13, 2015 9:48 AM (in response to jayantvaish5)Jayant Vaish wrote:
Can this issue is because of [JBAS-5189] Txn-Manager arjuna commits data after timeout in long transactions - JBoss Issue Tracker ?
To this specific point, I don't know if its related sorry. It doesn't sound like it is but I can't say for certain.
-
4. Re: TransactionManager.getTransaction() is returning transaction which is in aborted state
mmusgrov Mar 13, 2015 10:11 AM (in response to jayantvaish5)I believe Tom is correct. The transaction has been rolled back in a separate thread so the status is rolled back. But your application thread is still associated with the transaction and it will stay associated until you explicitly call commit or rollback on it (at which time you get the rolled back exception). If we automatically did the disassociate the application would not be able to discover the actual status of the transaction.
-
5. Re: TransactionManager.getTransaction() is returning transaction which is in aborted state
jayantvaish5 Mar 18, 2015 5:50 AM (in response to jayantvaish5)Thanks Tom and Michael,
One observation we see that, if I use jbossjta.jar of version 4.2.3 instead of 4.2.1 then this issue doesn't comes.
Can you please give information what fixes is been done between 4.2.1 and 4.2.3?
This problem comes after the transaction is timed out.
Thanks,
Jayant
-
6. Re: TransactionManager.getTransaction() is returning transaction which is in aborted state
tomjenkinson Mar 18, 2015 6:33 AM (in response to jayantvaish5)Hi Jayant,
You can use Jira to query the fixes for the project. Here is the link for the query you mentioned:
Looking through that list, at a guess it's probably JBTM-139
If you are a community user, I would encourage you to update to the latest community versions of WFLY and Narayana to ensure we can provide the best community support for you. 4.2.1 for example was released in August 2006!
Thanks,
Tom