Informix Error -32006: The rollback was caused by a transaction branch took too long.
Cause and resolution
The rollback was caused by a transaction branch took too long.
This error is same as XA_RBTIMEOUT 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 work represented by this transaction branch took too long.
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
-32006 is the Informix representation of XA_RBTIMEOUT from the X/Open XA
Specification — per the official guidance, the work represented by the transaction branch
took too long.
xa_commit/xa_prepare: the Resource Manager didn't commit/prepare the branch because it exceeded a time limit, 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
- Reduce the transaction's duration, per the official guidance's implication — fewer statements per branch, or faster-completing work.
- Check for any configured transaction-branch timeout on the Resource Manager and adjust it if appropriate.
Examples
N/A
No specific triggering statement is documented — this is a Resource-Manager-side XA return code.
Diagnostic Checks
- Check the elapsed time of the failing transaction branch, and any configured timeout limit on the Resource Manager.
Related Errors / Related Topics
- -32005 — "A protocol error occurred in the Resource Manager." Same XA
rollback-reason family (
XA_RBPROTO). - -32007 — "The Resource Manager detected transient error." Same family
(
XA_RBTRANSIENT).
An XA transaction branch was rolled back because it took too long (XA_RBTIMEOUT) —
reduce the branch's duration or adjust the configured timeout.