What does HRESULT 0x8004D02B (XACT_E_PULL_COMM_FAILURE) mean?

 
Previous Next
XACT_E_PUSH_COMM_FAILURE XACT_E_LU_TX_DISABLED

XACT_E_PULL_COMM_FAILURE

XACT_E_PULL_COMM_FAILURE is the failure HRESULT 0x8004D02B (signed decimal -2147168213, unsigned decimal 2147799083). Its severity bit is 1, facility is 4 (FACILITY_ITF), and the facility-specific code field is 0xD02B.

Inbound transaction retrieval failed on the source-to-local path

This HRESULT means MSDTC could not pull a transaction from the source transaction manager because of communication problems. Microsoft lists firewall exceptions, machine-name resolution, and network-transaction enablement among the possible causes.

AllStat explains that “The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems; possible causes include: a firewall is present and it doesn't have an exception for the MSDTC process, the two machines cannot find each other by their NetBIOS names, or the support for network transactions is not enabled for one of the two transaction managers.” The direction named by XACT_E_PULL_COMM_FAILURE determines which coordinator path should be tested first.

The contract boundary to identify

“Pull” distinguishes the operation from pushing a locally owned transaction outward. The local coordinator is attempting to retrieve transaction state from a source manager, so source outbound policy, local inbound policy, and return-path identity deserve focused checks.

Likely causes to separate

  • The local coordinator cannot resolve or authenticate the source manager by the identity embedded in propagation data.
  • Source outbound or local inbound DTC access is disabled.
  • A firewall permits the initial application call but blocks RPC/DTC traffic used for the pull.
  • The source coordinator restarts or becomes unreachable after the transaction reference is handed off.

Evidence worth preserving

  • Record source and local coordinator identities, transaction UOW, propagation token age, and pull start time.
  • Run Test-Dtc in the direction matching the actual transaction flow and compare with the reverse test.
  • Capture name-resolution answers and DTC security configuration on both participants.
  • Preserve source restart, failover, and service-recovery events.

Diagnostic sequence

  • Map the transaction’s ownership and verify that the source coordinator still has a recoverable record for this HRESULT.
  • Validate source outbound and local inbound network transaction settings.
  • Check bidirectional RPC reachability because callbacks can fail even when one connection direction succeeds.
  • Test a newly created transaction after fixing infrastructure; do not assume an old propagation token remains valid.

Retry and recovery

Restore communication with the source manager and establish the status of the original transaction. If its outcome cannot be recovered, treat the work as in doubt and reconcile resources rather than blindly opening a new transaction.

What this HRESULT does not establish

The message’s possible causes are not a diagnosis. This code does not prove the source service is down, and it does not identify whether the failure occurred before or after the source accepted a related request.

Difference from nearby transaction results

XACT_E_PUSH_COMM_FAILURE concerns sending a locally owned transaction toward a destination. XACT_E_TIP_PULL_FAILED is specific to TIP-based pull rather than ordinary MSDTC coordinator communication.

Practical scenario

A worker receives a propagated transaction token from a source server after that server fails over to a new address. Local MSDTC cannot pull the transaction from the identity encoded in the token. The cluster identity and DTC mapping are corrected, and uncertain work is reconciled before a fresh attempt.

Guidance for software and telemetry

Log source ownership and propagation direction explicitly. Network teams need coordinator names and ports, while application teams need the UOW and first resource that requested the pull.

Official Microsoft references


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