What does HRESULT 0x8004D007 (XACT_E_HEURISTICDANGER) mean?

 
Previous Next
XACT_E_HEURISTICDAMAGE XACT_E_ISOLATIONLEVEL

XACT_E_HEURISTICDANGER

Heuristic danger means inconsistency is possible but not yet fully observed

XACT_E_HEURISTICDANGER reports that the transaction may contain a mixture of commit and abort outcomes, but the coordinator cannot establish every participant’s state. This differs from heuristic damage, where conflicting outcomes are already known.

Keep affected resources isolated while collecting durable evidence from each participant. Query local prepared or heuristic records, inspect coordinator recovery data, and avoid forcing another outcome until the consequences are understood. If a participant is merely offline, restoring communication may convert uncertainty into a normal recovered result. If logs are lost, business-level comparison becomes the only reliable way to determine whether compensation is required.

Steps for reducing outcome uncertainty

  • List of participants whose outcomes are confirmed.
  • Offline or unreachable resource managers.
  • Availability of coordinator and participant recovery logs.
  • Business records that can prove whether local commit occurred.

References


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