Site icon EfmSoft

¿Qué significa el código HRESULT 0x8004D017 (XACT_E_NOTIMEOUT)?

 
Anterior Siguiente
XACT_E_INDOUBT XACT_E_ALREADYINPROGRESS

XACT_E_NOTIMEOUT

Qué significa XACT_E_NOTIMEOUT

XACT_E_NOTIMEOUT corresponde al HRESULT 0x8004D017. Windows lo describe así: «Se especificó un tiempo de espera, pero no se admiten tiempos de espera.».

No debe reducirse a una “falla de MSDTC” genérica: pertenece a opciones de la transacción: aislamiento, retención, asincronía y límites soportados. La pista decisiva es que se pasó un timeout a una implementación que no admite ese control temporal.

Qué comprobar

  • Captura nivel de aislamiento, isoFlags, retaining flags, timeout, modo síncrono/asíncrono y capacidades anunciadas por el transaction manager en el intento que devuelve 0x8004D017.
  • 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: se pasó un timeout a una implementación que no admite ese control temporal.

Tratamiento y recuperación

Ajusta la llamada a las capacidades reales del transaction manager y del recurso. No ocultes un flag no soportado sustituyéndolo silenciosamente: registra la semántica elegida y valida que aislamiento, timeout y retaining cumplen el contrato de la aplicación.

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.

Exit mobile version