# HG changeset patch # User Marcin Kuzminski # Date 2018-07-13 15:29:36 # Node ID 2a9499df9886bc9591db2468efc597180335545e # Parent 7def1637acd2a950fa62a5b44d6aec0d81c56ae4 caches: allow debug of max_size reached by the MemoryLRU cache. diff --git a/rhodecode/lib/rc_cache/backends.py b/rhodecode/lib/rc_cache/backends.py --- a/rhodecode/lib/rc_cache/backends.py +++ b/rhodecode/lib/rc_cache/backends.py @@ -41,7 +41,14 @@ class LRUMemoryBackend(memory_backend.Me 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):