diff options
author | Erik Johnston <erik@matrix.org> | 2018-09-14 19:23:07 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2018-09-14 19:23:07 +0100 |
commit | fcfe7a850dada2e65982f2bc805d8bc409f07512 (patch) | |
tree | 01c899c308ddae6c7250f45ce9eeb4294f6bfea2 /synapse/http/matrixfederationclient.py | |
parent | don't filter membership events based on history visibility (#3874) (diff) | |
download | synapse-fcfe7a850dada2e65982f2bc805d8bc409f07512.tar.xz |
Add an awful secondary timeout to fix wedged requests
This is an attempt to mitigate #3842 by adding yet-another-timeout
Diffstat (limited to 'synapse/http/matrixfederationclient.py')
-rw-r--r-- | synapse/http/matrixfederationclient.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/synapse/http/matrixfederationclient.py b/synapse/http/matrixfederationclient.py index da16b5dd8c..13b19f7626 100644 --- a/synapse/http/matrixfederationclient.py +++ b/synapse/http/matrixfederationclient.py @@ -42,6 +42,7 @@ from synapse.api.errors import ( ) from synapse.http.endpoint import matrix_federation_endpoint from synapse.util import logcontext +from synapse.util.async_helpers import timeout_no_seriously from synapse.util.logcontext import make_deferred_yieldable from synapse.util.metrics import Measure @@ -228,6 +229,16 @@ class MatrixFederationHttpClient(object): ) request_deferred.addTimeout(_sec_timeout, self.hs.get_reactor()) + # Sometimes the timeout above doesn't work, so lets hack yet + # another layer of timeouts in in the vain hope that at some + # point the world made sense and this really really really + # should work. + request_deferred = timeout_no_seriously( + request_deferred, + timeout=_sec_timeout * 2, + reactor=self.hs.get_reactor(), + ) + with Measure(self.clock, "outbound_request"): response = yield make_deferred_yieldable( request_deferred, |