summary refs log tree commit diff
path: root/synapse/handlers/federation.py
diff options
context:
space:
mode:
authorRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2018-04-27 12:16:19 +0100
committerGitHub <noreply@github.com>2018-04-27 12:16:19 +0100
commit41d4b07a536ae53a992010a7ad4660488bd026d1 (patch)
tree4d0b7835933776ada72636394bac05a7de8813ad /synapse/handlers/federation.py
parentUpdate CHANGES.rst (diff)
parentreraise exceptions more carefully (diff)
downloadsynapse-41d4b07a536ae53a992010a7ad4660488bd026d1.tar.xz
Merge pull request #3142 from matrix-org/rav/reraise
reraise exceptions more carefully
Diffstat (limited to '')
-rw-r--r--synapse/handlers/federation.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py

index ae7e0d6da2..260df025f9 100644 --- a/synapse/handlers/federation.py +++ b/synapse/handlers/federation.py
@@ -19,9 +19,11 @@ import httplib import itertools import logging +import sys from signedjson.key import decode_verify_key_bytes from signedjson.sign import verify_signed_json +import six from twisted.internet import defer from unpaddedbase64 import decode_base64 @@ -1513,12 +1515,14 @@ class FederationHandler(BaseHandler): backfilled=backfilled, ) except: # noqa: E722, as we reraise the exception this is fine. - # Ensure that we actually remove the entries in the push actions - # staging area - logcontext.preserve_fn( - self.store.remove_push_actions_from_staging - )(event.event_id) - raise + tp, value, tb = sys.exc_info() + + logcontext.run_in_background( + self.store.remove_push_actions_from_staging, + event.event_id, + ) + + six.reraise(tp, value, tb) if not backfilled: # this intentionally does not yield: we don't care about the result