Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-3976

Disable Block Cache On Compactions

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.90.3
    • None
    • regionserver
    • None

    Description

      Is there a good reason to believe that caching blocks during compactions is beneficial? Currently, if block cache is enabled on a certain family, then every time it's compacted, we load all of its blocks into the (LRU) cache, at the expense of the legitimately hot ones.

      As a matter of fact, this concern was raised earlier in HBASE-1597, which rightly points out that, "we should not bog down the LRU with unneccessary blocks" during compaction. Even though that issue has been marked as "fixed", it looks like it ought to be reopened.

      Should we err on the side of caution and not cache blocks during compactions period (as illustrated in the attached patch)? Or, can we be selectively aggressive about what blocks do get cached during compaction (e.g., only cache those blocks from the recent files)?

      Attachments

        1. HBASE-3976.patch
          1 kB
          Karthick Sankarachary
        2. HBASE-3976-unconditional.patch
          0.8 kB
          Andrew Kyle Purtell
        3. HBASE-3976-V3.patch
          2 kB
          Karthick Sankarachary

        Issue Links

          Activity

            People

              mikhail Mikhail Gryzykhin
              karthick Karthick Sankarachary
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: