From c7325776a7a02354657c519eb5169c1f2f3e0872 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 4 Mar 2019 18:31:18 +0000 Subject: [PATCH] Remove redundant PreserveLoggingContext Both (!) things that register as replication listeners do the right thing wrt logcontexts, so this is redundant. --- synapse/notifier.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/synapse/notifier.py b/synapse/notifier.py index 2505202e9..ff589660d 100644 --- a/synapse/notifier.py +++ b/synapse/notifier.py @@ -203,7 +203,9 @@ class Notifier(object): def add_replication_callback(self, cb): """Add a callback that will be called when some new data is available. - Callback is not given any arguments. + Callback is not given any arguments. It should *not* return a Deferred - if + it needs to do any asynchronous work, a background thread should be started and + wrapped with run_as_background_process. """ self.replication_callbacks.append(cb) @@ -515,12 +517,5 @@ class Notifier(object): def notify_replication(self): """Notify the any replication listeners that there's a new event""" - with PreserveLoggingContext(): - # the callbacks may well outlast the current request, so we run - # them in the sentinel logcontext. - # - # (ideally it would be up to the callbacks to know if they were - # starting off background processes and drop the logcontext - # accordingly, but that requires more changes) - for cb in self.replication_callbacks: - cb() + for cb in self.replication_callbacks: + cb()