diff options
author | Erik Johnston <erikj@jki.re> | 2018-02-15 12:31:49 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-15 12:31:49 +0000 |
commit | 5fb347fc41e7a5754dd65859bb46c5c07020eb10 (patch) | |
tree | 30ecee0524b68fb830d194d5c30e198ecf1325b1 /synapse/replication/http/send_event.py | |
parent | Merge pull request #2871 from matrix-org/erikj/event_creator_state (diff) | |
parent | Don't log errors propogated from send_event (diff) | |
download | synapse-5fb347fc41e7a5754dd65859bb46c5c07020eb10.tar.xz |
Merge pull request #2872 from matrix-org/erikj/event_worker_dont_log
Don't log errors propogated from send_event
Diffstat (limited to 'synapse/replication/http/send_event.py')
-rw-r--r-- | synapse/replication/http/send_event.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/synapse/replication/http/send_event.py b/synapse/replication/http/send_event.py index ff9b9d2f10..7b21a2213c 100644 --- a/synapse/replication/http/send_event.py +++ b/synapse/replication/http/send_event.py @@ -15,6 +15,7 @@ from twisted.internet import defer +from synapse.api.errors import SynapseError, MatrixCodeMessageException from synapse.events import FrozenEvent from synapse.events.snapshot import EventContext from synapse.http.servlet import RestServlet, parse_json_object_from_request @@ -27,6 +28,7 @@ import re logger = logging.getLogger(__name__) +@defer.inlineCallbacks def send_event_to_master(client, host, port, requester, event, context): """Send event to be handled on the master @@ -48,7 +50,14 @@ def send_event_to_master(client, host, port, requester, event, context): "requester": requester.serialize(), } - return client.post_json_get_json(uri, payload) + try: + result = yield client.post_json_get_json(uri, payload) + except MatrixCodeMessageException as e: + # We convert to SynapseError as we know that it was a SynapseError + # on the master process that we should send to the client. (And + # importantly, not stack traces everywhere) + raise SynapseError(e.code, e.msg, e.errcode) + defer.returnValue(result) class ReplicationSendEventRestServlet(RestServlet): |