What does NTSTATUS 0xC0190054 (STATUS_TRANSACTION_NOT_ROOT) mean?

 
Previous Next
STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION STATUS_TRANSACTION_OBJECT_EXPIRED

STATUS_TRANSACTION_NOT_ROOT

STATUS_TRANSACTION_NOT_ROOT means that a caller attempted to create a superior enlistment on a subordinate branch of a transaction. KTM reserves the superior role for the root transaction, because that role coordinates the prepare and outcome sequence for the transaction tree.

This is different from STATUS_TRANSACTION_SUPERIOR_EXISTS. Not-root rejects the location in the tree even when no superior has yet been created there; superior-exists rejects a second coordinator after the permitted superior enlistment already exists.

Only the root transaction may become superior

  • Trace the parent/root transaction relationship for the handle used in the enlistment call.
  • Create a superior enlistment only at the intended root coordinator and use subordinate enlistments for participating resource managers.
  • Record whether the caller is integrating an external transaction-processing component rather than assuming every transaction handle can coordinate outcomes.

References


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