Reintentos y errores transitorios
Cuáles de los errores de una transacción se reintentan y de qué forma lo hacen.
Reintenta una transacción cuando falla con un error transitorio. Los drivers lo hacen por ti con withTransaction.
Requisitos
- Una transacción que ya funciona, como la de Transacciones de varios documentos.
Las etiquetas
| Etiqueta | Qué hacer |
|---|---|
TransientTransactionError | Reintenta la transacción entera desde el principio. |
UnknownTransactionCommitResult | Reintenta solo commitTransaction; no sabes si se confirmó. |
Con withTransaction
withTransaction reintenta lo que debe según esas etiquetas. Si escribes el bucle a mano, mira la etiqueta del error y
no el código.
Comprobar
Con dos clientes escribiendo el mismo documento a la vez, los dos acaban confirmando gracias a los reintentos.
Problemas frecuentes
- Una sentencia que encuentra una versión dentro de su ventana de incertidumbre falla con
WriteConflict; se resuelve igual, reintentando.