Informix Error -32017: The XID is not valid.
Cause and resolution
The XID is not valid.
This error is same as XAER_NOTA 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, xa_end, xa_prepare, xa_rollback context, the specified XID is not known by the Resource Manager.
In the xa_forget context, the specified XID is not known by the Resource Manager as a heuristically completed XID. In the xa_start context, either TMRESUME or TMJOIN was set in flags, and the specified XID is not known by the Resource Manager.
Also refer to the Resource Manager guide for more details.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-32017 is the Informix representation of XAER_NOTA from the X/Open XA Specification —
per the official guidance, the specified XID isn't known to the Resource Manager.
xa_commit/xa_end/xa_prepare/xa_rollback: the specified XID is not known by the Resource Manager, per the official guidance — the first named case.xa_forget: the specified XID isn't known as a heuristically completed XID, per the official guidance — the second named case.xa_startwithTMRESUMEorTMJOINset: the specified XID isn't known by the Resource Manager, per the official guidance — the third named case.
Solutions / Resolution
- Confirm the XID being used actually corresponds to a branch the Resource Manager knows about, per the official guidance's implication — it may have already been forgotten, never started, or belongs to a different Resource Manager.
Examples
N/A
No specific triggering statement is documented — this is a Resource-Manager-side XA return code.
Diagnostic Checks
- Check the XID's origin and lifecycle, confirming it hasn't already been completed, forgotten, or misrouted to the wrong Resource Manager.
Related Errors / Related Topics
- -32016 — "An Resource Manager error occurred in the transaction branch." A related
Resource-Manager-error code (
XAER_RMERR), general to XA processing rather than specific to an unrecognized XID. - -32021 — "The XID already exists." The mirror-image error (
XAER_DUPID), for a duplicate rather than unknown XID.
The specified XID isn't known to the Resource Manager (XAER_NOTA) — confirm the XID's
lifecycle and origin.