What does HRESULT 0x8004D00D (XACT_E_NOTCURRENT) mean?

 
Previous Next
XACT_E_NORESOURCE XACT_E_NOTRANSACTION

XACT_E_NOTCURRENT

Prepared data no longer matches the version observed during the transaction

XACT_E_NOTCURRENT reports an optimistic concurrency failure: a resource manager detected that state read or staged by the transaction was changed before commit. The coordinator cannot repair that conflict because it is defined by the resource manager’s version, timestamp, row, object, or cache validation rules.

Identify the participant that rejected preparation and capture its native conflict details. The correct response is usually to abandon the transaction, reread current state, reapply the business decision, and start a new unit of work. Reissuing commit on the same transaction is invalid because the old read set and assumptions have already failed validation.

Conflict information to retain for a safe retry

  • Resource and version token used by the transaction.
  • Current version observed at prepare time.
  • Competing operation that changed the resource.
  • Business rule used to merge, reject, or recalculate the update.

References


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