summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrad Murray <bradtgmurray@gmail.com>2022-08-26 03:38:10 -0400
committerGitHub <noreply@github.com>2022-08-26 08:38:10 +0100
commit967d7bad6c1ea97fb234c3e6d0cbc87b73bb7d0a (patch)
treeddf71b509989d7ed7369d701a75bde5bf44dd7aa
parentDebian packaging: explicitly allocate a group for the system user (#13593) (diff)
downloadsynapse-967d7bad6c1ea97fb234c3e6d0cbc87b73bb7d0a.tar.xz
Move the execution of the retention purge_jobs to the main worker (#13632)
Fixes #9927

Signed-off-by: Brad Murray brad@beeper.com
-rw-r--r--changelog.d/13632.bugfix1
-rw-r--r--synapse/handlers/pagination.py6
2 files changed, 3 insertions, 4 deletions
diff --git a/changelog.d/13632.bugfix b/changelog.d/13632.bugfix
new file mode 100644

index 0000000000..e4b7b403cd --- /dev/null +++ b/changelog.d/13632.bugfix
@@ -0,0 +1 @@ +Fix the running of MSC1763 retention purge_jobs in deployments with background jobs running on a worker by forcing them back onto the main worker. Contributed by Brad @ Beeper. diff --git a/synapse/handlers/pagination.py b/synapse/handlers/pagination.py
index 74e944bce7..a0c39778ab 100644 --- a/synapse/handlers/pagination.py +++ b/synapse/handlers/pagination.py
@@ -159,11 +159,9 @@ class PaginationHandler: self._retention_allowed_lifetime_max = ( hs.config.retention.retention_allowed_lifetime_max ) + self._is_master = hs.config.worker.worker_app is None - if ( - hs.config.worker.run_background_tasks - and hs.config.retention.retention_enabled - ): + if hs.config.retention.retention_enabled and self._is_master: # Run the purge jobs described in the configuration file. for job in hs.config.retention.retention_purge_jobs: logger.info("Setting up purge job with config: %s", job)