Ádám Szita created HIVE-22460: --------------------------------- Summary: LRFU cache policy leaks locked buffers upon purge() Key: HIVE-22460 URL: https://issues.apache.org/jira/browse/HIVE-22460 Project: Hive Issue Type: Bug Components: llap Reporter: Ádám Szita Assignee: Ádám Szita
LRFU policy's purge() implementation is carefully not removing buffers that are currently locked (i.e. in use by some IO thread). So far that's good. However it won't keep track of such buffers after the purge() method has finished: it will always reset its heap and list, thereby forgetting information on these buffers. It will never be able to evict these in the future, even if they get unlocked and become eligible for eviction. This is problematic as: * Although eventually these buffers might be evicted by BufferAllocator, by the time that happens we have wasted space and time. * Meta information about the buffers will remain in CacheContentsTracker forever, wasting heap space too. -- This message was sent by Atlassian Jira (v8.3.4#803005)