| 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.