¿Qué significa el código HRESULT 0x8004D019 (XACT_E_ABORTED)?

 
Anterior Siguiente
XACT_E_ALREADYINPROGRESS XACT_E_LOGFULL

XACT_E_ABORTED

Qué significa XACT_E_ABORTED

XACT_E_ABORTED corresponde al HRESULT 0x8004D019. Windows lo describe así: «La transacción ya se ha anulado.».

Para diagnosticarla conviene pensar en resultado final y transición de estado de una transacción coordinada, no solo en el método que terminó devolviendo el código. En este caso, el coordinador ya conserva un resultado abort; las llamadas posteriores son consecuencias de una decisión anterior, no la causa original.

Qué comprobar

  • Captura UOW/transaction ID, método que devuelve el código, estado anterior, voto de cada participante, timeout y primer error previo en el intento que devuelve 0x8004D019.
  • Verifica la precondición inmediatamente anterior a la llamada: enlistment, prepare, commit, abort, re-enlist o recovery requieren estados distintos.
  • Comprueba de forma explícita esta condición: el coordinador ya conserva un resultado abort; las llamadas posteriores son consecuencias de una decisión anterior, no la causa original.

Tratamiento y recuperación

No repitas commit o abort sobre el mismo objeto a ciegas. Determina primero el resultado ya decidido; si la operación de negocio debe repetirse, inicia una transacción nueva y comprueba antes los efectos externos que MSDTC no puede revertir.

Diferencias con resultados cercanos

Repite el escenario con correlación completa y confirma que la transición que originaba el código ya no aparece; no basta con que el caller deje de mostrar el HRESULT.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.