the decision on doing retries lies in the run time configuration selection of a transaction_executor_class (line ~29).  The current default, `TransactionExecutor` will not retry.  One of `TransactionExecutorWithInfiniteBackoff` (retry forever) or `TransactionExecutorWithLimitedBackoff` (retry a limited number of times) will change the behavior for retries, if the failure is one of the exceptions in `operational_exceptions` (line ~56).