synapse-product/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 Anys 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