| Previous | Next |
| XACT_E_CONNECTION_DENIED | XACT_E_TIP_CONNECT_FAILED |
XACT_E_REENLISTTIMEOUT
Reenlistment timeout leaves the prepared branch unresolved
XACT_E_REENLISTTIMEOUT means a resource manager presented recovery information for an in-doubt transaction but did not receive a commit or abort result within the allowed interval. The timeout does not authorize local rollback; the coordinator may still hold a durable decision that must be honored.
Verify DTC availability, resource-manager identity, and connectivity to the coordinator that owned the transaction. Retain the recovery blob and retry reenlistment according to the provider’s recovery loop. Distinguish a temporary communication timeout from an unknown-resource-manager error caused by a regenerated GUID. Call recovery-complete only after all durable in-doubt records have been resolved, not merely because one reenlist call expired.
Recovery-loop telemetry to preserve
- Reenlist timeout supplied by the resource manager.
- Coordinator endpoint and reachability during the attempt.
- Resource-manager GUID and recovery blob hash.
- Number and age of unresolved prepared branches.
References
- Microsoft: IResourceManager reenlistment
- Microsoft MS-DTCO: recovery protocol
- PostgreSQL: prepared transactions awaiting an external decision
Looking for a different code? Search another status or error code.
