Skip to content

Commit ccd0a71

Browse files
committed
Revert LruCache CacheManager changes for now
1 parent 4018aa4 commit ccd0a71

7 files changed

Lines changed: 20 additions & 56 deletions

File tree

synapse/rest/client/sync.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,8 @@ def __init__(self, hs: "HomeServer"):
125125
self._json_filter_cache: LruCache[str, bool] = LruCache(
126126
max_size=1000,
127127
cache_name="sync_valid_filter",
128-
cache_manager=hs.get_cache_manager(),
128+
# TODO
129+
# cache_manager=hs.get_cache_manager(),
129130
)
130131

131132
# Ratelimiter for presence updates, keyed by requester.

synapse/storage/databases/main/client_ips.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,8 @@ def __init__(
436436
self.client_ip_last_seen = LruCache[Tuple[str, str, str], int](
437437
max_size=50000,
438438
cache_name="client_ip_last_seen",
439-
cache_manager=hs.get_cache_manager(),
439+
# TODO
440+
# cache_manager=hs.get_cache_manager(),
440441
)
441442

442443
if hs.config.worker.run_background_tasks and self.user_ips_max_age:

synapse/storage/databases/main/devices.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1780,7 +1780,8 @@ def __init__(
17801780
LruCache(
17811781
max_size=10000,
17821782
cache_name="device_id_exists",
1783-
cache_manager=hs.get_cache_manager(),
1783+
# TODO
1784+
# cache_manager=hs.get_cache_manager(),
17841785
)
17851786
)
17861787

synapse/storage/databases/main/event_federation.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,8 @@ def __init__(
147147
self._event_auth_cache: LruCache[str, List[Tuple[str, int]]] = LruCache(
148148
500000,
149149
cache_name="_event_auth_cache",
150-
cache_manager=hs.get_cache_manager(),
150+
# TODO
151+
# cache_manager=hs.get_cache_manager(),
151152
size_callback=len,
152153
)
153154

synapse/util/caches/deferred_cache.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
from twisted.python.failure import Failure
4545

4646
from synapse.util.async_helpers import ObservableDeferred
47-
from synapse.util.caches import CacheManager
4847
from synapse.util.caches.lrucache import LruCache
4948
from synapse.util.caches.treecache import TreeCache, iterate_tree_cache_entry
5049

@@ -81,7 +80,6 @@ class DeferredCache(Generic[KT, VT]):
8180
def __init__(
8281
self,
8382
name: str,
84-
cache_manager: CacheManager,
8583
max_entries: int = 1000,
8684
tree: bool = False,
8785
iterable: bool = False,
@@ -91,7 +89,6 @@ def __init__(
9189
"""
9290
Args:
9391
name: The name of the cache
94-
cache_manager: The cache manager to handle metrics
9592
max_entries: Maximum amount of entries that the cache will hold
9693
tree: Use a TreeCache instead of a dict as the underlying cache type
9794
iterable: If True, count each item in the cached object as an entry,
@@ -117,7 +114,6 @@ def metrics_cb() -> None:
117114
self.cache: LruCache[KT, VT] = LruCache(
118115
max_size=max_entries,
119116
cache_name=name,
120-
cache_manager=cache_manager,
121117
cache_type=cache_type,
122118
size_callback=(
123119
(lambda d: len(cast(Sized, d)) or 1)

synapse/util/caches/lrucache.py

Lines changed: 12 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
from synapse.config import cache as cache_config
5252
from synapse.metrics.background_process_metrics import wrap_as_background_process
5353
from synapse.util import Clock, caches
54-
from synapse.util.caches import CacheManager, CacheMetric, EvictionReason
54+
from synapse.util.caches import CacheMetric, EvictionReason
5555
from synapse.util.caches.treecache import (
5656
TreeCache,
5757
iterate_tree_cache_entry,
@@ -379,44 +379,11 @@ class LruCache(Generic[KT, VT]):
379379
If cache_type=TreeCache, all keys must be tuples.
380380
"""
381381

382-
# If you're providing in the `cache_name`, then you must provide the `cache_manager`
383-
@overload
384-
def __init__(
385-
self,
386-
max_size: int,
387-
*,
388-
cache_name: str,
389-
cache_manager: CacheManager,
390-
metrics_collection_callback: Optional[Callable[[], None]] = None,
391-
cache_type: Type[Union[dict, TreeCache]] = dict,
392-
size_callback: Optional[Callable[[VT], int]] = None,
393-
apply_cache_factor_from_config: bool = True,
394-
clock: Optional[Clock] = None,
395-
prune_unread_entries: bool = True,
396-
extra_index_cb: Optional[Callable[[KT, VT], KT]] = None,
397-
): ...
398-
399-
# If you're *not* providing in the `cache_name`, then you shouldn't provide the
400-
# `cache_manager` or the `metrics_collection_callback`
401-
@overload
402-
def __init__(
403-
self,
404-
max_size: int,
405-
*,
406-
cache_type: Type[Union[dict, TreeCache]] = dict,
407-
size_callback: Optional[Callable[[VT], int]] = None,
408-
apply_cache_factor_from_config: bool = True,
409-
clock: Optional[Clock] = None,
410-
prune_unread_entries: bool = True,
411-
extra_index_cb: Optional[Callable[[KT, VT], KT]] = None,
412-
): ...
413-
414382
def __init__(
415383
self,
416384
max_size: int,
417385
*,
418386
cache_name: Optional[str] = None,
419-
cache_manager: Optional[CacheManager] = None,
420387
metrics_collection_callback: Optional[Callable[[], None]] = None,
421388
cache_type: Type[Union[dict, TreeCache]] = dict,
422389
size_callback: Optional[Callable[[VT], int]] = None,
@@ -432,9 +399,6 @@ def __init__(
432399
cache_name: The name of this cache, for the prometheus metrics. If unset,
433400
no metrics will be reported on this cache.
434401
435-
cache_manager: The cache manager to handle metrics. If unset, no metrics will be
436-
reported on this cache.
437-
438402
Ignored if `cache_name` is `None`.
439403
440404
metrics_collection_callback:
@@ -499,15 +463,17 @@ def __init__(
499463
# do yet when we get resized.
500464
self._on_resize: Optional[Callable[[], None]] = None
501465

502-
if cache_name is not None:
503-
metrics: Optional[CacheMetric] = cache_manager.register_cache(
504-
"lru_cache",
505-
cache_name,
506-
self,
507-
collect_callback=metrics_collection_callback,
508-
)
509-
else:
510-
metrics = None
466+
# TODO
467+
# if cache_name is not None:
468+
# metrics: Optional[CacheMetric] = cache_manager.register_cache(
469+
# "lru_cache",
470+
# cache_name,
471+
# self,
472+
# collect_callback=metrics_collection_callback,
473+
# )
474+
# else:
475+
# metrics = None
476+
metrics: Optional[CacheMetric] = None
511477

512478
# this is exposed for access from outside this class
513479
self.metrics = metrics

tests/util/test_lrucache.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,6 @@ def test_special_size(self) -> None:
9999
cache: LruCache = LruCache(
100100
10,
101101
cache_name="mycache",
102-
# TODO
103-
# cache_manager=TODO
104102
)
105103
self.assertEqual(cache.max_size, 100)
106104

0 commit comments

Comments
 (0)