summary refs log tree commit diff
path: root/synapse/storage/background_updates.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/storage/background_updates.py')
-rw-r--r--synapse/storage/background_updates.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/synapse/storage/background_updates.py b/synapse/storage/background_updates.py

index c2bbbb574e..37f2d6c644 100644 --- a/synapse/storage/background_updates.py +++ b/synapse/storage/background_updates.py
@@ -282,12 +282,20 @@ class BackgroundUpdater: self._running = True + back_to_back_failures = 0 + try: logger.info("Starting background schema updates") while self.enabled: try: result = await self.do_next_background_update(sleep) + back_to_back_failures = 0 except Exception: + back_to_back_failures += 1 + if back_to_back_failures >= 5: + raise RuntimeError( + "5 back-to-back background update failures; aborting." + ) logger.exception("Error doing update") else: if result: