diff options
author | Matthew Hodgson <matthew@matrix.org> | 2014-12-08 00:17:12 +0000 |
---|---|---|
committer | Matthew Hodgson <matthew@matrix.org> | 2014-12-08 00:17:12 +0000 |
commit | 9c43b258ecc493b126ef2858b9bb8fda0f01478a (patch) | |
tree | f277d0ee5cacef5c43b94934e5817121cd37789d | |
parent | fix stupid syntax thinkos (diff) | |
download | synapse-9c43b258ecc493b126ef2858b9bb8fda0f01478a.tar.xz |
actually reset retry schedule if we can successfuly talk to it
-rw-r--r-- | synapse/federation/replication.py | 3 | ||||
-rw-r--r-- | synapse/handlers/federation.py | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/synapse/federation/replication.py b/synapse/federation/replication.py index 1b9e3ece09..88184caecd 100644 --- a/synapse/federation/replication.py +++ b/synapse/federation/replication.py @@ -864,6 +864,9 @@ class _TransactionQueue(object): for deferred in deferreds: if code == 200: + if retry_last_ts: + # this host is alive! reset retry schedule + self.store.set_destination_retry_timings(destination, 0, 0) deferred.callback(None) else: self.start_retrying(destination, retry_interval) diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py index 925eb5376e..7a79e2d117 100644 --- a/synapse/handlers/federation.py +++ b/synapse/handlers/federation.py @@ -207,6 +207,12 @@ class FederationHandler(BaseHandler): e.msg, affected=event.event_id, ) + + # if we're receiving valid events from an origin, + # it's probably a good idea to mark it as not in retry-state + # for sending (although this is a bit of a leap) + if ((self.store.get_destination_retry_timings(origin))[0]): + self.store.set_destination_retry_timings(origin, 0, 0) room = yield self.store.get_room(event.room_id) |