X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/1f8a68371ad34594cce4aadf5fef229588fd4ddc..2b9f430908974f213edb4a3751c57624211c3c4e:/vendor/plugins/deadlock_retry/lib/deadlock_retry.rb diff --git a/vendor/plugins/deadlock_retry/lib/deadlock_retry.rb b/vendor/plugins/deadlock_retry/lib/deadlock_retry.rb index 413cb823c..39aeff869 100644 --- a/vendor/plugins/deadlock_retry/lib/deadlock_retry.rb +++ b/vendor/plugins/deadlock_retry/lib/deadlock_retry.rb @@ -44,6 +44,7 @@ module DeadlockRetry begin transaction_without_deadlock_handling(*objects, &block) rescue ActiveRecord::StatementInvalid => error + raise unless connection.open_transactions.zero? if DEADLOCK_ERROR_MESSAGES.any? { |msg| error.message =~ /#{Regexp.escape(msg)}/ } raise if retry_count >= MAXIMUM_RETRIES_ON_DEADLOCK retry_count += 1