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.
Más entradas de este motor
- 136 CappedPositionLostCapped collection position lost
- 28 PathNotViableCannot use the part of the path to traverse the element (no se puede usar esa parte de la ruta para recorrer el elemento)
- 216 ElectionInProgressElectionInProgress
- 246 SnapshotUnavailableSnapshotUnavailable
- 257 TransactionTooLargeTransactionTooLarge
- 276 IndexBuildAbortedIndexBuildAborted
- 86 IndexKeySpecsConflictIndexKeySpecsConflict