From b3998763f4e941b71e064a5fc672caff993e33ac Mon Sep 17 00:00:00 2001 From: Jason Little Date: Fri, 2 Jan 2026 12:48:22 -0600 Subject: [PATCH] fix: Adjust worker lock retry intervals to double retry iterations each attempt and cap at 15 minutes --- synapse/handlers/worker_lock.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/synapse/handlers/worker_lock.py b/synapse/handlers/worker_lock.py index 1537a18cc0..82dd896d5a 100644 --- a/synapse/handlers/worker_lock.py +++ b/synapse/handlers/worker_lock.py @@ -275,8 +275,8 @@ async def __aexit__( def _get_next_retry_interval(self) -> float: next = self._retry_interval - self._retry_interval = max(5, next * 2) - if self._retry_interval > Duration(minutes=10).as_secs(): # >7 iterations + self._retry_interval = min(Duration(minutes=15).as_secs(), next * 2) + if self._retry_interval > Duration(minutes=10).as_secs(): # >12 iterations logger.warning( "Lock timeout is getting excessive: %ss. There may be a deadlock.", self._retry_interval, @@ -362,8 +362,8 @@ async def __aexit__( def _get_next_retry_interval(self) -> float: next = self._retry_interval - self._retry_interval = max(5, next * 2) - if self._retry_interval > Duration(minutes=10).as_secs(): # >7 iterations + self._retry_interval = min(Duration(minutes=15).as_secs(), next * 2) + if self._retry_interval > Duration(minutes=10).as_secs(): # >12 iterations logger.warning( "Lock timeout is getting excessive: %ss. There may be a deadlock.", self._retry_interval,