mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-29 07:28:55 +03:00
Add errback to all deferreds in transaction_queue
This commit is contained in:
parent
cc3d3babb0
commit
446ef58992
1 changed files with 23 additions and 14 deletions
|
@ -90,14 +90,17 @@ class TransactionQueue(object):
|
||||||
(pdu, deferred, order)
|
(pdu, deferred, order)
|
||||||
)
|
)
|
||||||
|
|
||||||
def eb(failure):
|
def chain(failure):
|
||||||
if not deferred.called:
|
if not deferred.called:
|
||||||
deferred.errback(failure)
|
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():
|
with PreserveLoggingContext():
|
||||||
self._attempt_new_transaction(destination).addErrback(eb)
|
self._attempt_new_transaction(destination).addErrback(chain)
|
||||||
|
|
||||||
deferreds.append(deferred)
|
deferreds.append(deferred)
|
||||||
|
|
||||||
|
@ -115,14 +118,17 @@ class TransactionQueue(object):
|
||||||
(edu, deferred)
|
(edu, deferred)
|
||||||
)
|
)
|
||||||
|
|
||||||
def eb(failure):
|
def chain(failure):
|
||||||
if not deferred.called:
|
if not deferred.called:
|
||||||
deferred.errback(failure)
|
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():
|
with PreserveLoggingContext():
|
||||||
self._attempt_new_transaction(destination).addErrback(eb)
|
self._attempt_new_transaction(destination).addErrback(chain)
|
||||||
|
|
||||||
return deferred
|
return deferred
|
||||||
|
|
||||||
|
@ -139,14 +145,17 @@ class TransactionQueue(object):
|
||||||
(failure, deferred)
|
(failure, deferred)
|
||||||
)
|
)
|
||||||
|
|
||||||
def eb(failure):
|
def chain(f):
|
||||||
if not deferred.called:
|
if not deferred.called:
|
||||||
deferred.errback(failure)
|
deferred.errback(f)
|
||||||
else:
|
|
||||||
logger.warn("Failed to send failure", failure.value)
|
def log_failure(f):
|
||||||
|
logger.warn("Failed to send pdu", f.value)
|
||||||
|
|
||||||
|
deferred.addErrback(log_failure)
|
||||||
|
|
||||||
with PreserveLoggingContext():
|
with PreserveLoggingContext():
|
||||||
self._attempt_new_transaction(destination).addErrback(eb)
|
self._attempt_new_transaction(destination).addErrback(chain)
|
||||||
|
|
||||||
yield deferred
|
yield deferred
|
||||||
|
|
||||||
|
@ -308,7 +317,7 @@ class TransactionQueue(object):
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
# We capture this here as there as nothing actually listens
|
# We capture this here as there as nothing actually listens
|
||||||
# for this finishing functions deferred.
|
# for this finishing functions deferred.
|
||||||
logger.exception(
|
logger.warn(
|
||||||
"TX [%s] Problem in _attempt_transaction: %s",
|
"TX [%s] Problem in _attempt_transaction: %s",
|
||||||
destination,
|
destination,
|
||||||
e,
|
e,
|
||||||
|
|
Loading…
Reference in a new issue