[
https://issues.apache.org/jira/browse/HIVE-22460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ádám Szita updated HIVE-22460:
------------------------------
Attachment: HIVE-22460.0.patch
> 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
> Priority: Major
> Attachments: HIVE-22460.0.patch
>
>
> 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)