¿Qué significa el código HRESULT 0x0004D00A (XACT_S_LOCALLY_OK)?

 
Anterior Siguiente
XACT_S_SINGLEPHASE XACT_S_LASTRESOURCEMANAGER

XACT_S_LOCALLY_OK

Qué significa XACT_S_LOCALLY_OK

XACT_S_LOCALLY_OK corresponde al HRESULT 0x0004D00A. Windows lo describe así: «La transacción local no se ha anulado.».

No debe reducirse a una “falla de MSDTC” genérica: pertenece a resultado final y transición de estado de una transacción coordinada. La pista decisiva es que el estado local sigue siendo aceptable/no abortado; no demuestra por sí solo el outcome global de todos los participantes.

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 0x0004D00A.
  • Correlaciona eventos de aplicación, MSDTC y resource manager con la misma UOW para no mezclar transacciones concurrentes del mismo proceso.
  • Comprueba de forma explícita esta condición: el estado local sigue siendo aceptable/no abortado; no demuestra por sí solo el outcome global de todos los participantes.

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

La prueba final debe demostrar tanto el resultado de negocio como el outcome de cada recurso enlistado. Un commit local aislado no prueba atomicidad distribuida.

Referencias técnicas


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