diff --git a/synapse/federation/replication.py b/synapse/federation/replication.py
index f9c05b5ea3..1b9e3ece09 100644
--- a/synapse/federation/replication.py
+++ b/synapse/federation/replication.py
@@ -866,7 +866,7 @@ class _TransactionQueue(object):
if code == 200:
deferred.callback(None)
else:
- start_retrying(destination, retry_interval)
+ self.start_retrying(destination, retry_interval)
deferred.errback(RuntimeError("Got status %d" % code))
# Ensures we don't continue until all callbacks on that
@@ -883,7 +883,7 @@ class _TransactionQueue(object):
# for this finishing functions deferred.
logger.exception("TX [%s] Problem in _attempt_transaction: %s", destination, e)
- start_retrying(destination, retry_interval)
+ self.start_retrying(destination, retry_interval)
for deferred in deferreds:
if not deferred.called:
@@ -896,13 +896,12 @@ class _TransactionQueue(object):
# Check to see if there is anything else to send.
self._attempt_new_transaction(destination)
-def start_retrying(destination, retry_interval):
- # track that this destination is having problems and we should
- # give it a chance to recover before trying it again
- if retry_interval:
- retry_interval *= 2
- else:
- retry_interval = 2 # try again at first after 2 seconds
- self.store.set_destination_retry_timings(destination,
- int(self._clock.time_msec()), retry_interval)
-
\ No newline at end of file
+ def start_retrying(self, destination, retry_interval):
+ # track that this destination is having problems and we should
+ # give it a chance to recover before trying it again
+ if retry_interval:
+ retry_interval *= 2
+ else:
+ retry_interval = 2 # try again at first after 2 seconds
+ self.store.set_destination_retry_timings(destination,
+ int(self._clock.time_msec()), retry_interval)
diff --git a/synapse/storage/transactions.py b/synapse/storage/transactions.py
index 47b73f7458..cacd948302 100644
--- a/synapse/storage/transactions.py
+++ b/synapse/storage/transactions.py
@@ -230,7 +230,7 @@ class TransactionStore(SQLBaseStore):
else:
return None
- def set_destination_retry_timings(self, destination):
+ def set_destination_retry_timings(self, destination, retry_last_ts, retry_interval):
"""Sets the current retry timings for a given destination.
Both timings should be zero if retrying is no longer occuring.
|