Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 9f87da0

Browse files
committed
Rename Cache->DeferredCache
1 parent 7eff59e commit 9f87da0

File tree

8 files changed

+30
-25
lines changed

8 files changed

+30
-25
lines changed

synapse/replication/slave/storage/client_ips.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
from synapse.storage.database import DatabasePool
1717
from synapse.storage.databases.main.client_ips import LAST_SEEN_GRANULARITY
18-
from synapse.util.caches.descriptors import Cache
18+
from synapse.util.caches.descriptors import DeferredCache
1919

2020
from ._base import BaseSlavedStore
2121

@@ -24,9 +24,9 @@ class SlavedClientIpStore(BaseSlavedStore):
2424
def __init__(self, database: DatabasePool, db_conn, hs):
2525
super().__init__(database, db_conn, hs)
2626

27-
self.client_ip_last_seen = Cache(
27+
self.client_ip_last_seen = DeferredCache(
2828
name="client_ip_last_seen", keylen=4, max_entries=50000
29-
) # type: Cache[tuple, int]
29+
) # type: DeferredCache[tuple, int]
3030

3131
async def insert_client_ip(self, user_id, access_token, ip, user_agent, device_id):
3232
now = int(self._clock.time_msec())

synapse/storage/databases/main/client_ips.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from synapse.metrics.background_process_metrics import wrap_as_background_process
2020
from synapse.storage._base import SQLBaseStore
2121
from synapse.storage.database import DatabasePool, make_tuple_comparison_clause
22-
from synapse.util.caches.descriptors import Cache
22+
from synapse.util.caches.descriptors import DeferredCache
2323

2424
logger = logging.getLogger(__name__)
2525

@@ -410,7 +410,7 @@ def _prune_old_user_ips_txn(txn):
410410
class ClientIpStore(ClientIpWorkerStore):
411411
def __init__(self, database: DatabasePool, db_conn, hs):
412412

413-
self.client_ip_last_seen = Cache(
413+
self.client_ip_last_seen = DeferredCache(
414414
name="client_ip_last_seen", keylen=4, max_entries=50000
415415
)
416416

synapse/storage/databases/main/devices.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
)
3535
from synapse.types import Collection, JsonDict, get_verify_key_from_cross_signing_key
3636
from synapse.util import json_decoder, json_encoder
37-
from synapse.util.caches.descriptors import Cache, cached, cachedList
37+
from synapse.util.caches.descriptors import DeferredCache, cached, cachedList
3838
from synapse.util.iterutils import batch_iter
3939
from synapse.util.stringutils import shortstr
4040

@@ -1004,7 +1004,7 @@ def __init__(self, database: DatabasePool, db_conn, hs):
10041004

10051005
# Map of (user_id, device_id) -> bool. If there is an entry that implies
10061006
# the device exists.
1007-
self.device_id_exists_cache = Cache(
1007+
self.device_id_exists_cache = DeferredCache(
10081008
name="device_id_exists", keylen=2, max_entries=10000
10091009
)
10101010

synapse/storage/databases/main/events_worker.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
from synapse.storage.engines import PostgresEngine
4343
from synapse.storage.util.id_generators import MultiWriterIdGenerator, StreamIdGenerator
4444
from synapse.types import Collection, get_domain_from_id
45-
from synapse.util.caches.descriptors import Cache, cached
45+
from synapse.util.caches.descriptors import DeferredCache, cached
4646
from synapse.util.iterutils import batch_iter
4747
from synapse.util.metrics import Measure
4848

@@ -145,7 +145,7 @@ def __init__(self, database: DatabasePool, db_conn, hs):
145145
self._cleanup_old_transaction_ids,
146146
)
147147

148-
self._get_event_cache = Cache(
148+
self._get_event_cache = DeferredCache(
149149
"*getEvent*",
150150
keylen=3,
151151
max_entries=hs.config.caches.event_cache_size,

synapse/util/caches/descriptors.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def invalidate(self):
9999
self.callbacks.clear()
100100

101101

102-
class Cache(Generic[KT, VT]):
102+
class DeferredCache(Generic[KT, VT]):
103103
"""Wraps an LruCache, adding support for Deferred results.
104104
105105
It expects that each entry added with set() will be a Deferred; likewise get()
@@ -225,7 +225,10 @@ def get(
225225
return default
226226

227227
def set(
228-
self, key: KT, value: defer.Deferred, callback: Optional[Callable[[], None]] = None
228+
self,
229+
key: KT,
230+
value: defer.Deferred,
231+
callback: Optional[Callable[[], None]] = None,
229232
) -> ObservableDeferred:
230233
if not isinstance(value, defer.Deferred):
231234
raise TypeError("not a Deferred")
@@ -427,13 +430,13 @@ def __init__(
427430
self.iterable = iterable
428431

429432
def __get__(self, obj, owner):
430-
cache = Cache(
433+
cache = DeferredCache(
431434
name=self.orig.__name__,
432435
max_entries=self.max_entries,
433436
keylen=self.num_args,
434437
tree=self.tree,
435438
iterable=self.iterable,
436-
) # type: Cache[Tuple, Any]
439+
) # type: DeferredCache[Tuple, Any]
437440

438441
def get_cache_key_gen(args, kwargs):
439442
"""Given some args/kwargs return a generator that resolves into
@@ -677,9 +680,9 @@ class _CacheContext:
677680

678681
_cache_context_objects = (
679682
WeakValueDictionary()
680-
) # type: WeakValueDictionary[Tuple[Cache, CacheKey], _CacheContext]
683+
) # type: WeakValueDictionary[Tuple[DeferredCache, CacheKey], _CacheContext]
681684

682-
def __init__(self, cache, cache_key): # type: (Cache, CacheKey) -> None
685+
def __init__(self, cache, cache_key): # type: (DeferredCache, CacheKey) -> None
683686
self._cache = cache
684687
self._cache_key = cache_key
685688

@@ -688,7 +691,9 @@ def invalidate(self): # type: () -> None
688691
self._cache.invalidate(self._cache_key)
689692

690693
@classmethod
691-
def get_instance(cls, cache, cache_key): # type: (Cache, CacheKey) -> _CacheContext
694+
def get_instance(
695+
cls, cache, cache_key
696+
): # type: (DeferredCache, CacheKey) -> _CacheContext
692697
"""Returns an instance constructed with the given arguments.
693698
694699
A new instance is only created if none already exists.

tests/storage/test__base.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@
2020
from twisted.internet import defer
2121

2222
from synapse.util.async_helpers import ObservableDeferred
23-
from synapse.util.caches.descriptors import Cache, cached
23+
from synapse.util.caches.descriptors import DeferredCache, cached
2424

2525
from tests import unittest
2626

2727

28-
class CacheTestCase(unittest.HomeserverTestCase):
28+
class DeferredCacheTestCase(unittest.HomeserverTestCase):
2929
def prepare(self, reactor, clock, homeserver):
30-
self.cache = Cache("test")
30+
self.cache = DeferredCache("test")
3131

3232
def test_empty(self):
3333
failed = False
@@ -56,7 +56,7 @@ def test_invalidate(self):
5656
self.assertTrue(failed)
5757

5858
def test_eviction(self):
59-
cache = Cache("test", max_entries=2)
59+
cache = DeferredCache("test", max_entries=2)
6060

6161
cache.prefill(1, "one")
6262
cache.prefill(2, "two")
@@ -74,7 +74,7 @@ def test_eviction(self):
7474
cache.get(3)
7575

7676
def test_eviction_lru(self):
77-
cache = Cache("test", max_entries=2)
77+
cache = DeferredCache("test", max_entries=2)
7878

7979
cache.prefill(1, "one")
8080
cache.prefill(2, "two")

tests/test_metrics.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# limitations under the License.
1616

1717
from synapse.metrics import REGISTRY, InFlightGauge, generate_latest
18-
from synapse.util.caches.descriptors import Cache
18+
from synapse.util.caches.descriptors import DeferredCache
1919

2020
from tests import unittest
2121

@@ -138,7 +138,7 @@ def test_cache_metric(self):
138138
Caches produce metrics reflecting their state when scraped.
139139
"""
140140
CACHE_NAME = "cache_metrics_test_fgjkbdfg"
141-
cache = Cache(CACHE_NAME, max_entries=777)
141+
cache = DeferredCache(CACHE_NAME, max_entries=777)
142142

143143
items = {
144144
x.split(b"{")[0].decode("ascii"): x.split(b" ")[1].decode("ascii")

tests/util/caches/test_descriptors.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ def run_on_reactor():
4242
return make_deferred_yieldable(d)
4343

4444

45-
class CacheTestCase(unittest.TestCase):
45+
class DeferredCacheTestCase(unittest.TestCase):
4646
def test_invalidate_all(self):
47-
cache = descriptors.Cache("testcache")
47+
cache = descriptors.DeferredCache("testcache")
4848

4949
callback_record = [False, False]
5050

0 commit comments

Comments
 (0)