| Previous | Next |
| XACT_E_ALREADYINPROGRESS | XACT_E_LOGFULL |
XACT_E_ABORTED
Abort is a final transaction outcome, not a request to repeat commit
XACT_E_ABORTED means the transaction was already resolved as aborted before the current operation. The abort might originate from the application, a timeout, a resource-manager vote, loss of a required participant, or unilateral failure during the active phase.
Find the first abort decision and separate it from later symptoms. Once abort is selected, subsequent enlist, commit, or resource calls may all return secondary errors. Application retry must begin a new transaction and reevaluate the business operation against current state. Before retrying, confirm that any external calls not covered by MSDTC are idempotent or compensated, because the distributed rollback cannot undo them.
Abort evidence in priority order
- First component that requested or voted for abort.
- Transaction timeout and elapsed duration.
- Participant error immediately preceding the abort.
- External side effects outside enlisted resource managers.
References
- Microsoft MS-DTCO: unilateral abort and completion cases
- Microsoft MS-DTCO: abort outcome distribution
- PostgreSQL: rollback of prepared distributed work
Looking for a different code? Search another status or error code.