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),
)
|