| Anterior | Siguiente |
| XACT_E_HEURISTICABORT | XACT_E_HEURISTICDAMAGE |
XACT_E_HEURISTICCOMMIT
Qué significa XACT_E_HEURISTICCOMMIT
XACT_E_HEURISTICCOMMIT corresponde al HRESULT 0x8004D005. Windows lo describe así: «En lugar de anularse, el recurso se confirmó de forma heurística.».
No debe reducirse a una “falla de MSDTC” genérica: pertenece a resolución distribuida del resultado y posibles decisiones heurísticas. La pista decisiva es que un recurso decidió commit unilateralmente; no se puede asumir que las demás ramas hayan tomado la misma decisió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
0x8004D005. - 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ó commit unilateralmente; no se puede asumir que las demás ramas hayan tomado la misma decisió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
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.
