| Anterior | Siguiente |
| XACT_E_COMMITPREVENTED | XACT_E_HEURISTICCOMMIT |
XACT_E_HEURISTICABORT
Qué significa XACT_E_HEURISTICABORT
XACT_E_HEURISTICABORT corresponde al HRESULT 0x8004D004. Windows lo describe así: «En lugar de confirmarse, el recurso se anuló de forma heurística.».
El HRESULT identifica una etapa precisa de resolución distribuida del resultado y posibles decisiones heurísticas. En esta llamada, un recurso decidió abortar unilateralmente aun cuando el protocolo esperaba otra resolución; esa rama ya tiene un outcome duradero.
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
0x8004D004. - 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: un recurso decidió abortar unilateralmente aun cuando el protocolo esperaba otra resolución; esa rama ya tiene un outcome duradero.
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
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.
