diff options
author | David Robertson <davidr@element.io> | 2023-01-25 16:11:06 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-25 16:11:06 +0000 |
commit | 8e37ece015c8afd97572bdc742981792b02c6700 (patch) | |
tree | cd9da00a13e954945068fe307f5bb39b8aca29ee | |
parent | Make sqlite database migrations transactional again (#14910) (diff) | |
download | synapse-8e37ece015c8afd97572bdc742981792b02c6700.tar.xz |
Bump the client-side timeout for /state (#14912)
* Bump the client-side timeout for /state to allow faster joins resyncs the chance to complete for large rooms. We have seen this fair poorly (~90s for Matrix HQ's /state) in testing, causing the resync to advance to another HS who hasn't seen our join yet. * Changelog * Milliseconds!!!!
-rw-r--r-- | changelog.d/14912.misc | 1 | ||||
-rw-r--r-- | synapse/federation/transport/client.py | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/changelog.d/14912.misc b/changelog.d/14912.misc new file mode 100644 index 0000000000..9dbc6b3424 --- /dev/null +++ b/changelog.d/14912.misc @@ -0,0 +1 @@ +Faster joins: allow the resync process more time to fetch `/state` ids. diff --git a/synapse/federation/transport/client.py b/synapse/federation/transport/client.py index 556883f079..682666ab36 100644 --- a/synapse/federation/transport/client.py +++ b/synapse/federation/transport/client.py @@ -102,6 +102,10 @@ class TransportLayerClient: destination, path=path, args={"event_id": event_id}, + # This can take a looooooong time for large rooms. Give this a generous + # timeout of 10 minutes to avoid the partial state resync timing out early + # and trying a bunch of servers who haven't seen our join yet. + timeout=600_000, parser=_StateParser(room_version), ) |