| Previous | Next |
| XACT_E_INVALIDCOOKIE | XACT_E_NOTIMEOUT |
XACT_E_INDOUBT
Prepared work must remain recoverable until the coordinator outcome is learned
XACT_E_INDOUBT occurs after a participant has prepared durable work but cannot determine whether the coordinator chose commit or abort. At this point the participant cannot safely decide on its own: it must preserve locks or recovery state and reconnect to obtain the recorded outcome.
Restore the transaction manager, network path, and resource manager using their original durable identities. Reenlist with the exact recovery information saved during prepare, then allow MSDTC to return the decision. Deleting logs, generating a new resource-manager GUID, or manually clearing prepared records can convert a recoverable interruption into permanent inconsistency. Escalate to heuristic resolution only under an explicit business recovery procedure.
Recovery artifacts that must remain intact
- Prepared branch identifier and recovery blob.
- Stable resource-manager GUID.
- Coordinator identity and last successful protocol message.
- Locks or records held pending the final outcome.
References
- Microsoft MS-DTCO: prepared participants becoming in doubt
- Microsoft: reenlisting to learn an outcome
- PostgreSQL: durable prepared transactions
Looking for a different code? Search another status or error code.
