Site icon EfmSoft

¿Qué significa el código HRESULT 0x8004D083 (XACT_E_TRANSACTIONCLOSED)?

 
Anterior Siguiente
XACT_E_RECOVERYINPROGRESS XACT_E_INVALIDLSN

XACT_E_TRANSACTIONCLOSED

Qué significa XACT_E_TRANSACTIONCLOSED

XACT_E_TRANSACTIONCLOSED corresponde al HRESULT 0x8004D083. Windows lo describe así: «La transacción está cerrada.».

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 objeto transacción ya cerró su lifecycle y no debe recibir operaciones que requieren una transacción activa.

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 0x8004D083.
  • Localiza el primer participante o coordinador que cambia el estado; los HRESULT posteriores pueden ser solo propagación del outcome ya elegido.
  • Comprueba de forma explícita esta condición: el objeto transacción ya cerró su lifecycle y no debe recibir operaciones que requieren una transacción activa.

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

Si la recuperación exige retry, usa una transacción nueva y verifica idempotencia de cualquier efecto externo; nunca reapliques ciegamente un UOW cuyo outcome era desconocido.

Referencias técnicas


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

Exit mobile version