Skip to content
Browse files

Fixed #18984 -- Avoided a deadlock in test teardown.

Thanks Jeremy Dunck for the report.
  • Loading branch information...
1 parent a026e48 commit 891c5306242760c8bb494412b9f8f86762664427 @aaugustin aaugustin committed
Showing with 6 additions and 0 deletions.
  1. +6 −0 django/test/
6 django/test/
@@ -505,6 +505,12 @@ def _fixture_teardown(self):
# If the test case has a multi_db=True flag, flush all databases.
# Otherwise, just flush default.
databases = connections if getattr(self, 'multi_db', False) else [DEFAULT_DB_ALIAS]
+ # Roll back any pending transactions in order to avoid a deadlock
+ # during flush when TEST_MIRROR is used (#18984).
+ for conn in connections.all():
+ conn.rollback_unless_managed()
for db in databases:
call_command('flush', verbosity=0, interactive=False, database=db,
skip_validation=True, reset_sequences=False)

0 comments on commit 891c530

Please sign in to comment.
Something went wrong with that request. Please try again.