What does NTSTATUS 0xC0190001 (STATUS_TRANSACTIONAL_CONFLICT) mean?

 
Previous Next
STATUS_SXS_FILE_HASH_MISSING STATUS_INVALID_TRANSACTION

STATUS_TRANSACTIONAL_CONFLICT

STATUS_TRANSACTIONAL_CONFLICT means that an operation tried to use a name that another unresolved transaction has reserved. The conflict is about the transactional view of a named object, not a normal sharing-mode denial on an already open file handle.

It is useful to separate this result from STATUS_TRANSACTION_NOT_ACTIVE. Here the competing transaction still owns a reservation that affects the requested name; a not-active result instead means that the caller is already using a transaction whose useful lifetime has ended.

A transactional namespace conflict

  • Correlate the name, transaction identifier, resource manager, and time of the conflicting request.
  • Determine whether the owner is preparing, committing, rolling back, or stalled during recovery before retrying the same name.
  • Avoid deleting or reusing the name outside the transaction merely to bypass the conflict; that can defeat the isolation the transaction is providing.

References


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