Site icon EfmSoft

¿Qué significa el código HRESULT 0x8004D006 (XACT_E_HEURISTICDAMAGE)?

 
Anterior Siguiente
XACT_E_HEURISTICCOMMIT XACT_E_HEURISTICDANGER

XACT_E_HEURISTICDAMAGE

Qué significa XACT_E_HEURISTICDAMAGE

XACT_E_HEURISTICDAMAGE corresponde al HRESULT 0x8004D006. Windows lo describe así: «Algunos estados del recurso se confirmaron y otros se anularon, probablemente debido a decisiones heurísticas.».

La frontera técnica relevante es resolución distribuida del resultado y posibles decisiones heurísticas. La condición que distingue este valor de otros XACT es que ya se conocen outcomes incompatibles entre ramas: la atomicidad distribuida está dañada y requiere conciliación.

Qué comprobar

  • Captura UOW, lista completa de participantes, outcome conocido por cada rama, estado del coordinador, hora de la última confirmación y cualquier decisión heurística en el intento que devuelve 0x8004D006.
  • Ordena la traza por UOW y tiempo y separa el primer cambio de estado de los errores secundarios generados al cerrar o recuperar la transacción.
  • Comprueba de forma explícita esta condición: ya se conocen outcomes incompatibles entre ramas: la atomicidad distribuida está dañada y requiere conciliación.

Tratamiento y recuperación

No conviertas este estado en un retry genérico. Conserva los logs y determina el outcome de cada participante. Si hay resultados contradictorios duraderos, la reparación es de conciliación/compensación de negocio, no un nuevo commit del mismo UOW.

Diferencias con resultados cercanos

Después del cambio, confirma que coordinator y resource managers coinciden en la misma decisión y que no quedan ramas prepared/in-doubt pendientes de recovery.

Referencias técnicas


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

Exit mobile version