Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Duplicate
-
5.4, 5.5
-
None
-
None
-
New
Description
Our IndexSearcher.DEFAULT_QUERY_CACHE is set to use 32MB of heap (the default), however upon inspection of our application's heap, it's retaining ~280MB of memory and increasing slowly.
LRUQueryCache.cache.size was at 12,099, and LRUQueryCache.cache.modCount was also 12,099, meaning nothing was removed from LRUQueryCache.cache at all.
The keys of LRUQueryCache.cache are instances of SegmentCoreReaders, and I've checked many of the keys, the only reference to them is LRUQueryCache.cache, given LRUQueryCache.cache is an IdentityHashMap, that means you can't even get to them outside of the cache because you can't get a key that's equivalent to one of these in the cache.
This affectively makes IndexSearcher.DEFAULT_QUERY_CACHE a memory black hole.
Attachments
Issue Links
- duplicates
-
LUCENE-7657 Queries that reference a TermContext can cause a memory leak when they are cached
- Closed