Site icon EfmSoft

What does HRESULT 0x8004D018 (XACT_E_ALREADYINPROGRESS) mean?

 
Previous Next
XACT_E_NOTIMEOUT XACT_E_ABORTED

XACT_E_ALREADYINPROGRESS

Concurrent completion requests must converge on one protocol operation

XACT_E_ALREADYINPROGRESS reports that commit, abort, or another transaction action was started and has not finished. Distributed completion may remain active while MSDTC waits for participant votes, remote transaction managers, durable logging, or outcome acknowledgments.

Do not launch a second completion path as a timeout workaround. Retain the original asynchronous result or callback, correlate it by transaction ID, and allow cancellation only through an API that explicitly supports it. If callers can race, introduce a single owner for the transition and return the existing pending operation to later callers. Restarting MSDTC during Phase One can turn a latency problem into recovery work and in-doubt transactions.

Concurrency information to preserve

References


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

Exit mobile version