diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py index 2b09a410f4..4a543a3976 100644 --- a/synapse/handlers/federation.py +++ b/synapse/handlers/federation.py @@ -232,7 +232,11 @@ class FederationHandler(BaseHandler): d = defer.Deferred() self.waiting_for_join_list.setdefault((joinee, room_id), []).append(d) reactor.callLater(10, d.cancel) - yield d + + try: + yield d + except defer.CancelledError: + raise SynapseError("500", "Unable to join remote room") try: yield self.store.store_room(