summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2022-06-15 17:55:20 +0100
committerGitHub <noreply@github.com>2022-06-15 16:55:20 +0000
commitc95b04bb0e719d3f5de1714b442f95a39c6e3634 (patch)
tree96d0f230fc570ff5e61af1e7ce920562c4ca0aae
parentReplace pyjwt with authlib in `org.matrix.login.jwt` (#13011) (diff)
downloadsynapse-c95b04bb0e719d3f5de1714b442f95a39c6e3634.tar.xz
Change default `sync_response_cache_duration` (#13042)
-rw-r--r--changelog.d/13042.misc1
-rw-r--r--docker/complement/conf/workers-shared-extra.yaml.j26
-rw-r--r--docs/usage/configuration/config_documentation.md4
-rw-r--r--synapse/config/cache.py2
-rw-r--r--tests/utils.py2
5 files changed, 11 insertions, 4 deletions
diff --git a/changelog.d/13042.misc b/changelog.d/13042.misc
new file mode 100644
index 0000000000..745d5fcf84
--- /dev/null
+++ b/changelog.d/13042.misc
@@ -0,0 +1 @@
+Set default `sync_response_cache_duration` to two minutes.
diff --git a/docker/complement/conf/workers-shared-extra.yaml.j2 b/docker/complement/conf/workers-shared-extra.yaml.j2
index a5b1b6bb8b..7c6a0fd756 100644
--- a/docker/complement/conf/workers-shared-extra.yaml.j2
+++ b/docker/complement/conf/workers-shared-extra.yaml.j2
@@ -103,4 +103,10 @@ server_notices:
   system_mxid_avatar_url: ""
   room_name: "Server Alert"
 
+
+# Disable sync cache so that initial `/sync` requests are up-to-date.
+caches:
+  sync_response_cache_duration: 0
+
+
 {% include "shared-orig.yaml.j2" %}
diff --git a/docs/usage/configuration/config_documentation.md b/docs/usage/configuration/config_documentation.md
index e88f68d2b8..4e68801938 100644
--- a/docs/usage/configuration/config_documentation.md
+++ b/docs/usage/configuration/config_documentation.md
@@ -1137,8 +1137,8 @@ Caching can be configured through the following sub-options:
 * `sync_response_cache_duration`: Controls how long the results of a /sync request are
   cached for after a successful response is returned. A higher duration can help clients
   with intermittent connections, at the cost of higher memory usage.
-  By default, this is zero, which means that sync responses are not cached
-  at all.
+  A value of zero means that sync responses are not cached.
+  Defaults to 2m.
 * `cache_autotuning` and its sub-options `max_cache_memory_usage`, `target_cache_memory_usage`, and
    `min_cache_ttl` work in conjunction with each other to maintain a balance between cache memory 
    usage and cache entry availability. You must be using [jemalloc](https://github.com/matrix-org/synapse#help-synapse-is-slow-and-eats-all-my-ramcpu) 
diff --git a/synapse/config/cache.py b/synapse/config/cache.py
index d0b491ea6c..63310c8d07 100644
--- a/synapse/config/cache.py
+++ b/synapse/config/cache.py
@@ -206,7 +206,7 @@ class CacheConfig(Config):
             self.cache_autotuning["min_cache_ttl"] = self.parse_duration(min_cache_ttl)
 
         self.sync_response_cache_duration = self.parse_duration(
-            cache_config.get("sync_response_cache_duration", 0)
+            cache_config.get("sync_response_cache_duration", "2m")
         )
 
     def resize_all_caches(self) -> None:
diff --git a/tests/utils.py b/tests/utils.py
index 3059c453d5..cabb2c0dec 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -169,7 +169,7 @@ def default_config(name, parse=False):
         # disable user directory updates, because they get done in the
         # background, which upsets the test runner.
         "update_user_directory": False,
-        "caches": {"global_factor": 1},
+        "caches": {"global_factor": 1, "sync_response_cache_duration": 0},
         "listeners": [{"port": 0, "type": "http"}],
     }