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

Brute Force eviction can lead to a random uncontrolled eviction pattern.

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.1
    • Fix Version/s: 4.0.0
    • Component/s: None

      Description

      Current logic used by brute force eviction can lead to a perpetual random eviction pattern.
      For instance if the cache build a small pocket of free memory where the total size is greater than incoming allocation request, the allocator will randomly evict block that fits a particular size.
      This can happen over and over therefore all the eviction will be random.
      In Addition this random eviction will lead a leak in the linked list maintained by the policy since it does not know anymore about what is evicted and what not.

      The improvement of this patch is very substantial to TPC-DS benchmark. I have tested it with 10TB scale 9 llap nodes and 32GB cache size per node. The patch has showed very noticeable difference in the Hit rate for raw number Cache_hitrate_improvement.csv

        Attachments

        1. Cache_hitrate_improvement.csv
          1 kB
          slim bouguerra
        2. HIVE-21686.2.patch
          40 kB
          slim bouguerra
        3. HIVE-21686.3.patch
          35 kB
          slim bouguerra
        4. HIVE-21686.4.patch
          35 kB
          slim bouguerra
        5. HIVE-21686.5.patch
          39 kB
          slim bouguerra
        6. HIVE-21686.patch
          24 kB
          slim bouguerra

          Issue Links

            Activity

              People

              • Assignee:
                bslim slim bouguerra
                Reporter:
                bslim slim bouguerra
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 4h 20m
                  4h 20m