[jboss-jira] [JBoss JIRA] Updated: (JBAS-6116) UserTransaction.rollback()/commit() are not fully compliant with the JTA standard

Galder Zamarreno (JIRA) jira-events at lists.jboss.org
Mon Oct 20 08:18:21 EDT 2008


     [ https://jira.jboss.org/jira/browse/JBAS-6116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Galder Zamarreno updated JBAS-6116:
-----------------------------------

        Summary: UserTransaction.rollback()/commit() are not fully compliant with the JTA standard  (was: UserTransaction.rollback() is not compliant with the JTA standard)
    Description: 
JTA spec says the following UserTransaction.rollback():

"Roll back the transaction associated with the current thread. When this method completes, the thread becomes 
associated with no transaction."

Currently though, the transaction propagation context (tpc) is only cleared upon rollback() being called successfully.
If any exceptions arise from the rollback() call on the server, the tpc is not cleared, leaving it lingering. A finally section
needs to be added to ClientUserTransaction.rollback() so that the tpc is cleared. 

Similar thing happens with UserTransaction.commit()L

"When this method completes, the thread becomes associated with no transaction. "

Currently though, the transaction propagation context (tpc) is only cleared upon commit() being called successfully 
or upon a RollbackException. If any exceptions arise from the commit() call on the server, the tpc is not cleared, leaving 
it lingering. A finally section needs to be added to ClientUserTransaction.commit() so that the tpc is cleared. 

Besides, handling of org.jboss.remoting.CannotConnectException needs adding to rollback()/commit() to react in the 
same way as for RemoteException.

  was:
JTA spec says the following UserTransaction.rollback():

"Roll back the transaction associated with the current thread. When this method completes, the thread becomes 
associated with no transaction."

Currently though, the transaction propagation context (tpc) is only cleared upon rollback() being called successfully.
If any exceptions arise from the rollback() call on the server, the tpc is not cleared, leaving it lingering.

So, handling of SecurityException, SystemException, IllegalStateException, RemoteException and Exception should
clear the tpc. Besides, handling of org.jboss.remoting.CannotConnectException needs adding to react in the same 
way as for RemoteException.



> UserTransaction.rollback()/commit() are not fully compliant with the JTA standard
> ---------------------------------------------------------------------------------
>
>                 Key: JBAS-6116
>                 URL: https://jira.jboss.org/jira/browse/JBAS-6116
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Transaction Manager (JBossTM)
>    Affects Versions: JBossAS-4.2.3.GA, JBossAS-5.0.0.CR2
>            Reporter: Galder Zamarreno
>            Assignee: Galder Zamarreno
>
> JTA spec says the following UserTransaction.rollback():
> "Roll back the transaction associated with the current thread. When this method completes, the thread becomes 
> associated with no transaction."
> Currently though, the transaction propagation context (tpc) is only cleared upon rollback() being called successfully.
> If any exceptions arise from the rollback() call on the server, the tpc is not cleared, leaving it lingering. A finally section
> needs to be added to ClientUserTransaction.rollback() so that the tpc is cleared. 
> Similar thing happens with UserTransaction.commit()L
> "When this method completes, the thread becomes associated with no transaction. "
> Currently though, the transaction propagation context (tpc) is only cleared upon commit() being called successfully 
> or upon a RollbackException. If any exceptions arise from the commit() call on the server, the tpc is not cleared, leaving 
> it lingering. A finally section needs to be added to ClientUserTransaction.commit() so that the tpc is cleared. 
> Besides, handling of org.jboss.remoting.CannotConnectException needs adding to rollback()/commit() to react in the 
> same way as for RemoteException.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list