Informix Error -32002: The rollback was caused by a deadlock was detected.
Cause and resolution
The rollback was caused by a deadlock was detected.
This error is same as XA_RBDEADLOCK in the X/OPEN XA Specification Standard. For more information, refer to the "Distributed Transaction Processing: The XA Specification".
According to the X/OPEN XA Specification Standard :
The Resource Manager detected a deadlock.
In the xa_commit context, the Resource Manager did not commit the work done on behalf of the transaction branch. Upon return, the Resource Manager has rolled back the branch's work and has released all held resources. This value can be returned only if TMONEPHASE is set in flags.
In the xa_end context, the Resource Manager has dissociated the transaction branch from the thread of control and has marked rollback-only the work performed on behalf of *xid.
In the xa_prepare context, the Resource Manager did not prepare to commit the work done on behalf of the transaction branch. Upon return, the Resource Manager has rolled back the branch's work and has released all held resources.
In the xa_rollback context, the Resource Manager has rolled back the transaction branch's work and has released all held resources. These values are typically returned when the branch was already marked rollback-only.
In the xa_start context, the Resource Manager has not associated the transaction branch with the thread of control and has marked *xid rollback-only.
Also refer to the Resource Manager guide for more details.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-32002 is the Informix representation of XA_RBDEADLOCK from the X/Open XA Specification
— per the official guidance, the Resource Manager detected a deadlock.
xa_commit/xa_prepare: the Resource Manager didn't commit/prepare the branch due to a detected deadlock, per the official guidance.xa_end: the Resource Manager dissociated the branch and marked it rollback-only, per the official guidance.xa_rollback: the Resource Manager rolled back the branch's work, per the official guidance.
Solutions / Resolution
- Review the application's lock-acquisition order across the distributed transaction's participants to avoid the deadlock, per the official guidance's implication.
- Retry the global transaction.
Examples
N/A
No specific triggering statement is documented — this is a Resource-Manager-side XA return code.
Diagnostic Checks
- Check the Resource Manager's own deadlock/lock logs around the time of the rollback.
Related Errors / Related Topics
- -32000 — "The rollback was caused by an unspecified reason." Same XA
rollback-reason family (
XA_RBROLLBACK). - -32001 — "The rollback was caused by a communication failure." Same family
(
XA_RBCOMMFAIL). - -32003 — "A condition that violates the integrity of the resources was detected."
Same family (
XA_RBINTEGRITY).
An XA transaction branch was rolled back due to a detected deadlock (XA_RBDEADLOCK) —
review lock-acquisition order and retry.