What does Windows error code 6709 (ERROR_TRANSACTION_SUPERIOR_EXISTS) mean?

 
Previous Next
ERROR_TRANSACTION_NOT_JOINED ERROR_CRM_PROTOCOL_ALREADY_EXISTS

ERROR_TRANSACTION_SUPERIOR_EXISTS

A second superior relationship was requested for one transaction branch

ERROR_TRANSACTION_SUPERIOR_EXISTS belongs to the Windows Kernel Transaction Manager transaction-processing model. Superior and subordinate roles are used when transaction managers coordinate a distributed transaction tree. Microsoft describes a superior transaction manager as the coordinator that gathers votes and supplies the final outcome to subordinate transaction managers. KTM allows only one superior enlistment for a transaction branch, so creating another superior would make outcome ownership ambiguous.

Trace transaction propagation and branch association rather than ordinary resource-manager enlistments. A duplicated pull or push propagation request, reconnect logic that creates a fresh superior enlistment instead of reopening state, or two communication resource managers claiming the same transaction can cause this condition. Compare transaction identifiers and enlistment identifiers on both sides of the propagation boundary. Retrying CreateEnlistment unchanged cannot create a legitimate second superior; the caller must locate the existing branch relationship or create a distinct subordinate transaction.

What to inspect

  • Log the transaction ID and superior enlistment ID during propagation.
  • Check whether retry or reconnect code repeats branch registration after success.
  • Distinguish normal RM enlistments from the single superior enlistment for the transaction branch.

References


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