What does HRESULT 0x8004D005 (XACT_E_HEURISTICCOMMIT) mean?

 
Previous Next
XACT_E_HEURISTICABORT XACT_E_HEURISTICDAMAGE

XACT_E_HEURISTICCOMMIT

Heuristic commit can leave durable changes after the global transaction failed

XACT_E_HEURISTICCOMMIT indicates that a resource manager committed its branch on its own when coordinated processing expected abort or could no longer confirm the outcome. The local data is durable, but atomicity across the full transaction may have been violated.

Identify whether other participants aborted and avoid automatically replaying the original request, which can duplicate the heuristically committed change. Reconciliation should use the global transaction ID and application business key to decide whether to compensate the committed branch or reproduce the missing work elsewhere. Keep the resource’s heuristic state and coordinator logs until the final business correction is recorded.

Facts needed before compensation

  • Local commit record and branch identifier.
  • Global coordinator decision or unresolved status.
  • Outcome of every other durable participant.
  • Idempotency key or business identifier for corrective action.

References


Looking for a different code? Search another status or error code.