Informix Error -32000: The rollback was caused by an unspecified reason.
Cause and resolution
The rollback was caused by an unspecified reason.
This error is same as XA_RBROLLBACK 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 an unspecified reason. 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 an unspecified reason. 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 an unspecified reason. 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 an unspecified reason. 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 an unspecified reason. 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
-32000 is the Informix representation of XA_RBROLLBACK from the X/Open XA Specification
(Distributed Transaction Processing) — per the official guidance.
xa_commit: the Resource Manager rolled back the branch for an unspecified reason, per the official guidance — only returnable whenTMONEPHASEis set.xa_end: the Resource Manager marked the branch rollback-only for an unspecified reason, per the official guidance.xa_prepare: the Resource Manager rolled back the branch for an unspecified reason rather than preparing to commit, per the official guidance.
Solutions / Resolution
- Consult the Resource Manager's own logs/documentation for the specific reason, per the official guidance's implication — the XA layer itself doesn't narrow it further.
- Retry the global transaction, since the branch's work and resources have already been rolled back and released.
Examples
N/A
No specific triggering statement is documented — this is a Resource-Manager-side XA return code, not a client-issued statement.
Diagnostic Checks
- Check the Resource Manager's own error/trace logs around the time of the rollback for a more specific cause.
Related Errors / Related Topics
- -32001 — "The rollback was caused by a communication failure." The same XA
rollback-reason family (
XA_RBCOMMFAIL), naming a specific reason instead of "unspecified." - -32002 — "The rollback was caused by a deadlock was detected." Same family
(
XA_RBDEADLOCK). - -32003 — "A condition that violates the integrity of the resources was detected."
Same family (
XA_RBINTEGRITY). - -32004 — "The Resource Manager rolled back the transaction branch for a reason not
on the XA rollback errors." Same family (
XA_RBOTHER) — a documented "none of the above" case, distinct from -32000's genuinely unspecified reason.
An XA transaction branch was rolled back for an unspecified reason (XA_RBROLLBACK) —
check the Resource Manager's own logs for detail.