Transactions can be retried if an operation fails, as can commit operations
- • Drivers automatically retry commit and abort once, but not other writes
A RuntimeException thrown by the driver or library may be associated with one or more error labels, which can be checked using the hasErrorLabel() method
- • TransientTransactionError implies entire transaction can be retried
- • UnknownTransactionCommitResult implies commit can be retried
- • Applications can, and should, handle both