From f4b8149962e28999a98e4d64648b7b187a8cded8 Mon Sep 17 00:00:00 2001 From: Marcin Kuzminski Date: Fri, 13 Jul 2018 17:29:36 +0200 Subject: [PATCH] caches: allow debug of max_size reached by the MemoryLRU cache. --- rhodecode/lib/rc_cache/backends.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rhodecode/lib/rc_cache/backends.py b/rhodecode/lib/rc_cache/backends.py index 0a09b68d..623efd20 100644 --- a/rhodecode/lib/rc_cache/backends.py +++ b/rhodecode/lib/rc_cache/backends.py @@ -41,7 +41,14 @@ class LRUMemoryBackend(memory_backend.MemoryBackend): def __init__(self, arguments): max_size = arguments.pop('max_size', _default_max_size) - arguments['cache_dict'] = LRUDict(max_size) + callback = None + if arguments.pop('log_max_size_reached', None): + def evicted(key, value): + log.debug( + 'LRU: evicting key `%s` due to max size %s reach', key, max_size) + callback = evicted + + arguments['cache_dict'] = LRUDict(max_size, callback=callback) super(LRUMemoryBackend, self).__init__(arguments) def delete(self, key):