DBAtlas · Atlas de operaciones de bases de datos

225 TransactionTooOld: TransactionTooOld

MongoDB

¿Qué significa?

Se ejecutó un comando dentro de una transacción multidocumento, pero su número de transacción es más antiguo que el último número de transacción que el servidor ha visto para esa sesión. Es decir, se ha iniciado una transacción más reciente, por lo que esta antigua ya no es válida.

¿Por qué ocurre?

Se inició una nueva transacción en la misma sesión antes de que terminara la anterior, o los números de transacción avanzaron desordenadamente por la concurrencia. Suele ocurrir cuando un objeto de sesión se comparte de forma incorrecta o varios hilos usan la misma sesión.

Cómo solucionarlo

Gestione correctamente el ciclo de vida de la sesión para cada transacción lógica; no comparta una sesión de forma concurrente entre varios hilos. Ejecute las transacciones con la API withTransaction/callback que recomienda el driver (gestiona los reintentos y la numeración). Cierre la transacción anterior con commit/abort antes de iniciar una nueva.

Abrir en DBAtlas →

Más entradas de este motor