From e550ab17adc8dd3c48daf7fedcd09418a73f524b Mon Sep 17 00:00:00 2001
From: Erik Johnston <erik@matrix.org>
Date: Tue, 23 Mar 2021 14:52:20 +0000
Subject: [PATCH] Increase default join burst ratelimiting (#9674)

It's legitimate behaviour to try and join a bunch of rooms at once.
---
 changelog.d/9674.misc          | 1 +
 docs/sample_config.yaml        | 4 ++--
 synapse/config/ratelimiting.py | 8 ++++----
 3 files changed, 7 insertions(+), 6 deletions(-)
 create mode 100644 changelog.d/9674.misc

diff --git a/changelog.d/9674.misc b/changelog.d/9674.misc
new file mode 100644
index 0000000000..c82fde61b2
--- /dev/null
+++ b/changelog.d/9674.misc
@@ -0,0 +1 @@
+Increase default join ratelimiting burst rate.
diff --git a/docs/sample_config.yaml b/docs/sample_config.yaml
index a9f59e39f7..07a928224d 100644
--- a/docs/sample_config.yaml
+++ b/docs/sample_config.yaml
@@ -869,10 +869,10 @@ log_config: "CONFDIR/SERVERNAME.log.config"
 #rc_joins:
 #  local:
 #    per_second: 0.1
-#    burst_count: 3
+#    burst_count: 10
 #  remote:
 #    per_second: 0.01
-#    burst_count: 3
+#    burst_count: 10
 #
 #rc_3pid_validation:
 #  per_second: 0.003
diff --git a/synapse/config/ratelimiting.py b/synapse/config/ratelimiting.py
index 847d25122c..3f3997f4e5 100644
--- a/synapse/config/ratelimiting.py
+++ b/synapse/config/ratelimiting.py
@@ -95,11 +95,11 @@ class RatelimitConfig(Config):
 
         self.rc_joins_local = RateLimitConfig(
             config.get("rc_joins", {}).get("local", {}),
-            defaults={"per_second": 0.1, "burst_count": 3},
+            defaults={"per_second": 0.1, "burst_count": 10},
         )
         self.rc_joins_remote = RateLimitConfig(
             config.get("rc_joins", {}).get("remote", {}),
-            defaults={"per_second": 0.01, "burst_count": 3},
+            defaults={"per_second": 0.01, "burst_count": 10},
         )
 
         # Ratelimit cross-user key requests:
@@ -187,10 +187,10 @@ class RatelimitConfig(Config):
         #rc_joins:
         #  local:
         #    per_second: 0.1
-        #    burst_count: 3
+        #    burst_count: 10
         #  remote:
         #    per_second: 0.01
-        #    burst_count: 3
+        #    burst_count: 10
         #
         #rc_3pid_validation:
         #  per_second: 0.003
-- 
GitLab