diff --git a/synapse/rest/client/sync.py b/synapse/rest/client/sync.py index e89f258f9c..a18d89e565 100644 --- a/synapse/rest/client/sync.py +++ b/synapse/rest/client/sync.py @@ -125,7 +125,8 @@ class SyncRestServlet(RestServlet): self._json_filter_cache: LruCache[str, bool] = LruCache( max_size=1000, cache_name="sync_valid_filter", - cache_manager=hs.get_cache_manager(), + # TODO + # cache_manager=hs.get_cache_manager(), ) # Ratelimiter for presence updates, keyed by requester. diff --git a/synapse/storage/databases/main/client_ips.py b/synapse/storage/databases/main/client_ips.py index 9509e448c4..9b9cc98d88 100644 --- a/synapse/storage/databases/main/client_ips.py +++ b/synapse/storage/databases/main/client_ips.py @@ -436,7 +436,8 @@ class ClientIpWorkerStore(ClientIpBackgroundUpdateStore, MonthlyActiveUsersWorke self.client_ip_last_seen = LruCache[Tuple[str, str, str], int]( max_size=50000, cache_name="client_ip_last_seen", - cache_manager=hs.get_cache_manager(), + # TODO + # cache_manager=hs.get_cache_manager(), ) if hs.config.worker.run_background_tasks and self.user_ips_max_age: diff --git a/synapse/storage/databases/main/devices.py b/synapse/storage/databases/main/devices.py index 37f2e3b489..50e3414296 100644 --- a/synapse/storage/databases/main/devices.py +++ b/synapse/storage/databases/main/devices.py @@ -1780,7 +1780,8 @@ class DeviceStore(DeviceWorkerStore, DeviceBackgroundUpdateStore): LruCache( max_size=10000, cache_name="device_id_exists", - cache_manager=hs.get_cache_manager(), + # TODO + # cache_manager=hs.get_cache_manager(), ) ) diff --git a/synapse/storage/databases/main/event_federation.py b/synapse/storage/databases/main/event_federation.py index c7dbe24bdb..b18392860c 100644 --- a/synapse/storage/databases/main/event_federation.py +++ b/synapse/storage/databases/main/event_federation.py @@ -147,7 +147,8 @@ class EventFederationWorkerStore(SignatureWorkerStore, EventsWorkerStore, SQLBas self._event_auth_cache: LruCache[str, List[Tuple[str, int]]] = LruCache( 500000, cache_name="_event_auth_cache", - cache_manager=hs.get_cache_manager(), + # TODO + # cache_manager=hs.get_cache_manager(), size_callback=len, ) diff --git a/synapse/util/caches/deferred_cache.py b/synapse/util/caches/deferred_cache.py index 7b27727463..14868fa4d3 100644 --- a/synapse/util/caches/deferred_cache.py +++ b/synapse/util/caches/deferred_cache.py @@ -44,7 +44,6 @@ from twisted.internet import defer from twisted.python.failure import Failure from synapse.util.async_helpers import ObservableDeferred -from synapse.util.caches import CacheManager from synapse.util.caches.lrucache import LruCache from synapse.util.caches.treecache import TreeCache, iterate_tree_cache_entry @@ -81,7 +80,6 @@ class DeferredCache(Generic[KT, VT]): def __init__( self, name: str, - cache_manager: CacheManager, max_entries: int = 1000, tree: bool = False, iterable: bool = False, @@ -91,7 +89,6 @@ class DeferredCache(Generic[KT, VT]): """ Args: name: The name of the cache - cache_manager: The cache manager to handle metrics max_entries: Maximum amount of entries that the cache will hold tree: Use a TreeCache instead of a dict as the underlying cache type iterable: If True, count each item in the cached object as an entry, @@ -117,7 +114,6 @@ class DeferredCache(Generic[KT, VT]): self.cache: LruCache[KT, VT] = LruCache( max_size=max_entries, cache_name=name, - cache_manager=cache_manager, cache_type=cache_type, size_callback=( (lambda d: len(cast(Sized, d)) or 1) diff --git a/synapse/util/caches/lrucache.py b/synapse/util/caches/lrucache.py index 0bbcd49382..ee72f694b2 100644 --- a/synapse/util/caches/lrucache.py +++ b/synapse/util/caches/lrucache.py @@ -51,7 +51,7 @@ from twisted.internet.interfaces import IReactorTime from synapse.config import cache as cache_config from synapse.metrics.background_process_metrics import wrap_as_background_process from synapse.util import Clock, caches -from synapse.util.caches import CacheManager, CacheMetric, EvictionReason +from synapse.util.caches import CacheMetric, EvictionReason from synapse.util.caches.treecache import ( TreeCache, iterate_tree_cache_entry, @@ -379,44 +379,11 @@ class LruCache(Generic[KT, VT]): If cache_type=TreeCache, all keys must be tuples. """ - # If you're providing in the `cache_name`, then you must provide the `cache_manager` - @overload - def __init__( - self, - max_size: int, - *, - cache_name: str, - cache_manager: CacheManager, - metrics_collection_callback: Optional[Callable[[], None]] = None, - cache_type: Type[Union[dict, TreeCache]] = dict, - size_callback: Optional[Callable[[VT], int]] = None, - apply_cache_factor_from_config: bool = True, - clock: Optional[Clock] = None, - prune_unread_entries: bool = True, - extra_index_cb: Optional[Callable[[KT, VT], KT]] = None, - ): ... - - # If you're *not* providing in the `cache_name`, then you shouldn't provide the - # `cache_manager` or the `metrics_collection_callback` - @overload - def __init__( - self, - max_size: int, - *, - cache_type: Type[Union[dict, TreeCache]] = dict, - size_callback: Optional[Callable[[VT], int]] = None, - apply_cache_factor_from_config: bool = True, - clock: Optional[Clock] = None, - prune_unread_entries: bool = True, - extra_index_cb: Optional[Callable[[KT, VT], KT]] = None, - ): ... - def __init__( self, max_size: int, *, cache_name: Optional[str] = None, - cache_manager: Optional[CacheManager] = None, metrics_collection_callback: Optional[Callable[[], None]] = None, cache_type: Type[Union[dict, TreeCache]] = dict, size_callback: Optional[Callable[[VT], int]] = None, @@ -432,9 +399,6 @@ class LruCache(Generic[KT, VT]): cache_name: The name of this cache, for the prometheus metrics. If unset, no metrics will be reported on this cache. - cache_manager: The cache manager to handle metrics. If unset, no metrics will be - reported on this cache. - Ignored if `cache_name` is `None`. metrics_collection_callback: @@ -499,15 +463,17 @@ class LruCache(Generic[KT, VT]): # do yet when we get resized. self._on_resize: Optional[Callable[[], None]] = None - if cache_name is not None: - metrics: Optional[CacheMetric] = cache_manager.register_cache( - "lru_cache", - cache_name, - self, - collect_callback=metrics_collection_callback, - ) - else: - metrics = None + # TODO + # if cache_name is not None: + # metrics: Optional[CacheMetric] = cache_manager.register_cache( + # "lru_cache", + # cache_name, + # self, + # collect_callback=metrics_collection_callback, + # ) + # else: + # metrics = None + metrics: Optional[CacheMetric] = None # this is exposed for access from outside this class self.metrics = metrics diff --git a/tests/util/test_lrucache.py b/tests/util/test_lrucache.py index 2a8b3804b9..dbce9243c1 100644 --- a/tests/util/test_lrucache.py +++ b/tests/util/test_lrucache.py @@ -99,8 +99,6 @@ class LruCacheTestCase(unittest.HomeserverTestCase): cache: LruCache = LruCache( 10, cache_name="mycache", - # TODO - # cache_manager=TODO ) self.assertEqual(cache.max_size, 100)