Rollback of unknown Xid gives unexpected XA errorCode: 0
--------------------------------------------------------
Key: AMQ-3255
URL: https://issues.apache.org/jira/browse/AMQ-3255
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 5.3.0
Environment: Java on Mac OSX
Reporter: Guy Pardon
XA transaction managers will/should do recovery of Xids that they have logged.
In some cases, these Xids may have disappeared already in the JMS broker.
Typical example scenario:
1. The TM starts a new Xid with XAResource.start(xid)
2. The app does some SQL in the xid context
3. The TM calls XAResource.end(xid)
4. The TM then logs the xid as "to recover" before it attempts the XA prepare
5. The broker crashes and prepare fails
6. The broker comes back up, recovers, and does rollback of the not yet
prepared xid
7. The TM will also attempt recovery by calling rollback for the xid in question
In that case (step 7), the errorCode should not be 0 (as it is now in ActiveMQ)
but rather one of the XA_RB* error codes to be conform the semantics of XA
exceptions.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira