Clear transaction tasks on retry of with_transaction decorator

Closes #13008
This commit is contained in:
Cédric Krier
2024-02-06 13:26:34 +01:00
parent f02c9cf04c
commit ffaa3f096c
+2
View File
@@ -247,11 +247,13 @@ def with_transaction(readonly=None, user=0, context=None):
result = func(request, pool, *args, **kwargs)
except TransactionError as e:
transaction.rollback()
transaction.tasks.clear()
e.fix(transaction_extras)
continue
except backend.DatabaseOperationalError:
if count < retry and not readonly_:
transaction.rollback()
transaction.tasks.clear()
count += 1
continue
raise