MatrixSynapse/synapse/util
Sean Quah 7ff22d6da4
Fix `LruCache` corruption bug with a `size_callback` that can return 0 (#11454)
When all entries in an `LruCache` have a size of 0 according to the
provided `size_callback`, and `drop_from_cache` is called on a cache
node, the node would be unlinked from the LRU linked list but remain in
the cache dictionary. An assertion would be later be tripped due to the
inconsistency.

Avoid unintentionally calling `__len__` and use a strict `is None`
check instead when unwrapping the weak reference.
2021-11-30 16:28:02 +00:00
..
caches Fix `LruCache` corruption bug with a `size_callback` that can return 0 (#11454) 2021-11-30 16:28:02 +00:00
__init__.py Add more type hints to synapse.util. (#11321) 2021-11-12 13:43:06 +00:00
async_helpers.py Add most missing type hints to synapse.util (#11328) 2021-11-16 08:47:36 -05:00
batching_queue.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
daemonize.py More types for synapse.util, part 1 (#10888) 2021-10-06 11:20:49 +01:00
distributor.py Add most missing type hints to synapse.util (#11328) 2021-11-16 08:47:36 -05:00
file_consumer.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
frozenutils.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
gai_resolver.py Add most missing type hints to synapse.util (#11328) 2021-11-16 08:47:36 -05:00
hash.py Add missing type hints to synapse.util (#9982) 2021-05-24 15:32:01 -04:00
httpresourcetree.py Add missing type hints to `synapse.app`. (#11287) 2021-11-10 15:06:54 -05:00
iterutils.py Encode JSON responses on a thread in C, mk2 (#10905) 2021-09-28 09:37:58 +00:00
linked_list.py Eliminate a few `Any`s in `LruCache` type hints (#11453) 2021-11-30 15:39:07 +00:00
logcontext.py Improve the backwards compatibility re-exports of synapse.logging.context (#5617) 2019-07-05 02:32:02 +10:00
logformatter.py Improve the backwards compatibility re-exports of synapse.logging.context (#5617) 2019-07-05 02:32:02 +10:00
macaroons.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
manhole.py Add missing type hints to `synapse.app`. (#11287) 2021-11-10 15:06:54 -05:00
metrics.py Add type annotations to `synapse.metrics` (#10847) 2021-11-17 19:07:02 +00:00
module_loader.py Standardise the module interface (#10062) 2021-06-18 12:15:52 +01:00
msisdn.py Add missing type hints to synapse.util (#9982) 2021-05-24 15:32:01 -04:00
patch_inline_callbacks.py More types for synapse.util, part 1 (#10888) 2021-10-06 11:20:49 +01:00
ratelimitutils.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
retryutils.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
rlimit.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00
stringutils.py Prevent the media store from writing outside of the configured directory 2021-11-19 13:39:15 +00:00
templates.py Use direct references for some configuration variables (#10798) 2021-09-13 13:07:12 -04:00
threepids.py Use direct references for configuration variables (part 7). (#10959) 2021-10-04 07:18:54 -04:00
versionstring.py More types for synapse.util, part 1 (#10888) 2021-10-06 11:20:49 +01:00
wheel_timer.py Add types to synapse.util. (#10601) 2021-09-10 17:03:18 +01:00