| Anterior | Siguiente |
| XACT_E_INVALIDCOOKIE | XACT_E_NOTIMEOUT |
XACT_E_INDOUBT
Qué significa XACT_E_INDOUBT
XACT_E_INDOUBT corresponde al HRESULT 0x8004D016. Windows lo describe así: «El estado de la transacción es dudoso. Se produjo un error de comunicación o falló un administrador de transacciones o de recursos.».
La constante describe una condición concreta de resolución distribuida del resultado y posibles decisiones heurísticas; aquí el outcome todavía no puede determinarse con seguridad; perder comunicación no equivale ni a commit ni a abort.
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
0x8004D016. - 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: el outcome todavía no puede determinarse con seguridad; perder comunicación no equivale ni a commit ni a abort.
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
Valida la corrección con una UOW nueva cuando el outcome anterior ya era terminal; el éxito de una llamada posterior sobre otro objeto no cambia el resultado histórico de la transacción fallida.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.