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

Disable Block Cache On Compactions

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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-V3.patch
          2 kB
          Karthick Sankarachary
        2. HBASE-3976-unconditional.patch
          0.8 kB
          Andrew Kyle Purtell
        3. HBASE-3976.patch
          1 kB
          Karthick Sankarachary

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment