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 b1c1c51e4dcc..54bb7b3b9530 100644 --- a/synapse/config/experimental.py +++ b/synapse/config/experimental.py @@ -27,3 +27,8 @@ 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()