in Transaction.call, rollback is called when retries are exhausted, or when pre-commit fails, but other exceptions cause an immediate raise, without any rollback.
To fix this, the entire __call__ function should be wrapped in a try...except block, that causes a rollback before any exceptions are raised out of the transaction
in Transaction.call, rollback is called when retries are exhausted, or when pre-commit fails, but other exceptions cause an immediate raise, without any rollback.
To fix this, the entire
__call__function should be wrapped in atry...exceptblock, that causes a rollback before any exceptions are raised out of the transaction