From 7bab780b735a867a4185e1c15e06747afcd0d163 Mon Sep 17 00:00:00 2001 From: Jonathan de Jong Date: Wed, 24 Feb 2021 15:24:31 +0100 Subject: [PATCH 1/2] add experimental_features.sync_cache_timeout_ms config value --- synapse/config/experimental.py | 3 +++ synapse/handlers/sync.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/synapse/config/experimental.py b/synapse/config/experimental.py index b1c1c51e4dcc..e16e3e313886 100644 --- a/synapse/config/experimental.py +++ b/synapse/config/experimental.py @@ -27,3 +27,6 @@ def read_config(self, config: JsonDict, **kwargs): # MSC2858 (multiple SSO identity providers) self.msc2858_enabled = experimental.get("msc2858_enabled", False) # type: bool + + # Timeout value (in milliseconds) on sync Response Cache + self.sync_cache_timeout_ms = experimental.get("sync_cache_timeout_ms", 0) # type: int diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index ce644e01ad0d..04ac48b809b3 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -244,7 +244,7 @@ def __init__(self, hs: "HomeServer"): self.event_sources = hs.get_event_sources() self.clock = hs.get_clock() self.response_cache = ResponseCache( - hs, "sync" + hs, "sync", timeout_ms=hs.config.experimental.sync_cache_timeout_ms ) # type: ResponseCache[Tuple[Any, ...]] self.state = hs.get_state_handler() self.auth = hs.get_auth() From 3f316cbf16b77a7f235b74f49d9de1efd6977ec1 Mon Sep 17 00:00:00 2001 From: Jonathan de Jong Date: Wed, 24 Feb 2021 15:33:33 +0100 Subject: [PATCH 2/2] news and lint petting --- changelog.d/9484.bugfix | 1 + synapse/config/experimental.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 changelog.d/9484.bugfix diff --git a/changelog.d/9484.bugfix b/changelog.d/9484.bugfix new file mode 100644 index 000000000000..b55f7d20ae96 --- /dev/null +++ b/changelog.d/9484.bugfix @@ -0,0 +1 @@ +Add experimental config feature for timed `/sync` cache, fixes #3880. \ No newline at end of file diff --git a/synapse/config/experimental.py b/synapse/config/experimental.py index e16e3e313886..54bb7b3b9530 100644 --- a/synapse/config/experimental.py +++ b/synapse/config/experimental.py @@ -29,4 +29,6 @@ def read_config(self, config: JsonDict, **kwargs): self.msc2858_enabled = experimental.get("msc2858_enabled", False) # type: bool # Timeout value (in milliseconds) on sync Response Cache - self.sync_cache_timeout_ms = experimental.get("sync_cache_timeout_ms", 0) # type: int + self.sync_cache_timeout_ms = experimental.get( + "sync_cache_timeout_ms", 0 + ) # type: int