Informix Error -32004: The Resource Manager rolled back the transaction branch for a reason not on the XA rollback errors.
Cause and resolution
The Resource Manager rolled back the transaction branch for a reason not on the XA rollback errors.
This error is same as XA_RBOTHER 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 :
In the xa_commit context, the Resource Manager rolled back the transaction branch for a reason not on the XA rollback errors. 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 marked the transaction branch rollback-only for a reason not on the XA rollback errors. 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 rolled back the transaction branch for a reason not on the XA rollback errors. 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 rolled back the transaction branch for a reason not on the XA rollback errors. 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 marked the transaction branch rollback-only for a reason not on the XA rollback errors. 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
-32004 is the Informix representation of XA_RBOTHER from the X/Open XA
Specification — per the official guidance, a documented "none of the other rollback
reasons apply" case, distinct from -32000's genuinely unspecified reason.
xa_commit/xa_prepare: the Resource Manager rolled back the branch for a reason not covered by the other named XA rollback codes, per the official guidance.xa_end: the Resource Manager marked the branch rollback-only for such a reason, per the official guidance.
Solutions / Resolution
- Consult the Resource Manager's own logs/documentation for the specific reason, per the official guidance's implication.
- Retry the global transaction once the underlying cause is addressed.
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 error/trace logs around the time of the rollback for the specific reason.
Related Errors / Related Topics
- -32000 — "The rollback was caused by an unspecified reason." Same XA
rollback-reason family (
XA_RBROLLBACK) — genuinely unspecified rather than a named "other" case. - -32003 — "A condition that violates the integrity of the resources was detected."
Same family (
XA_RBINTEGRITY).
An XA transaction branch was rolled back for a reason outside the other named XA
rollback codes (XA_RBOTHER) — check the Resource Manager's own logs.