Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-22460

LRFU cache policy leaks locked buffers upon purge()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Not A Problem
    • None
    • None
    • llap
    • None

    Description

      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.

      Attachments

        1. HIVE-22460.0.patch
          4 kB
          Ádám Szita

        Activity

          People

            szita Ádám Szita
            szita Ádám Szita
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: