diff --git a/synapse/__init__.py b/synapse/__init__.py
index 792b8089f6..a804a25748 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -16,4 +16,4 @@
""" This is a reference implementation of a Matrix home server.
"""
-__version__ = "0.7.0f"
+__version__ = "0.7.1"
diff --git a/synapse/federation/transaction_queue.py b/synapse/federation/transaction_queue.py
index 4b5460c797..7d30c924d1 100644
--- a/synapse/federation/transaction_queue.py
+++ b/synapse/federation/transaction_queue.py
@@ -111,14 +111,17 @@ class TransactionQueue(object):
(pdu, deferred, order)
)
- def eb(failure):
+ def chain(failure):
if not deferred.called:
deferred.errback(failure)
- else:
- logger.warn("Failed to send pdu", failure.value)
+
+ def log_failure(failure):
+ logger.warn("Failed to send pdu", failure.value)
+
+ deferred.addErrback(log_failure)
with PreserveLoggingContext():
- self._attempt_new_transaction(destination).addErrback(eb)
+ self._attempt_new_transaction(destination).addErrback(chain)
deferreds.append(deferred)
@@ -136,19 +139,25 @@ class TransactionQueue(object):
(edu, deferred)
)
- def eb(failure):
+ def chain(failure):
if not deferred.called:
deferred.errback(failure)
- else:
- logger.warn("Failed to send edu", failure.value)
+
+ def log_failure(failure):
+ logger.warn("Failed to send pdu", failure.value)
+
+ deferred.addErrback(log_failure)
with PreserveLoggingContext():
- self._attempt_new_transaction(destination).addErrback(eb)
+ self._attempt_new_transaction(destination).addErrback(chain)
return deferred
@defer.inlineCallbacks
def enqueue_failure(self, failure, destination):
+ if destination == self.server_name or destination == "localhost":
+ return
+
deferred = defer.Deferred()
if not self.can_send_to(destination):
@@ -160,14 +169,17 @@ class TransactionQueue(object):
(failure, deferred)
)
- def eb(failure):
+ def chain(f):
if not deferred.called:
- deferred.errback(failure)
- else:
- logger.warn("Failed to send failure", failure.value)
+ deferred.errback(f)
+
+ def log_failure(f):
+ logger.warn("Failed to send pdu", f.value)
+
+ deferred.addErrback(log_failure)
with PreserveLoggingContext():
- self._attempt_new_transaction(destination).addErrback(eb)
+ self._attempt_new_transaction(destination).addErrback(chain)
yield deferred
@@ -329,7 +341,7 @@ class TransactionQueue(object):
except Exception as e:
# We capture this here as there as nothing actually listens
# for this finishing functions deferred.
- logger.exception(
+ logger.warn(
"TX [%s] Problem in _attempt_transaction: %s",
destination,
e,
diff --git a/synapse/http/matrixfederationclient.py b/synapse/http/matrixfederationclient.py
index 9d483032a0..7db001cc63 100644
--- a/synapse/http/matrixfederationclient.py
+++ b/synapse/http/matrixfederationclient.py
@@ -144,7 +144,7 @@ class MatrixFederationHttpClient(object):
destination,
e
)
- raise SynapseError(400, "Domain specified not found.")
+ raise
logger.warn(
"Sending request failed to %s: %s %s: %s - %s",
diff --git a/synapse/util/retryutils.py b/synapse/util/retryutils.py
index ac30545079..4e82232796 100644
--- a/synapse/util/retryutils.py
+++ b/synapse/util/retryutils.py
@@ -146,7 +146,7 @@ class RetryDestinationLimiter(object):
else:
self.retry_interval = self.min_retry_interval
- retry_last_ts = int(self.clock.time_msec()),
+ retry_last_ts = int(self.clock.time_msec())
self.store.set_destination_retry_timings(
self.destination, retry_last_ts, self.retry_interval
|