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

Prevent unnecessary caching of blocks during compactions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.20.0
    • 0.20.0
    • None
    • None
    • Reviewed

    Description

      When running any kind of compaction, we read every block of every storefile being compacted into the block cache.

      We would like to reuse any already cached blocks, if available, but otherwise we should not bog down the LRU with unnecessary blocks.

      This is not as bad as it was with the old LRU because the latest LRU implementation (HBASE-1460) is scan-resistant. This ensures that we are not causing massive eviction of the blocks that are being read multiple times or from in-memory tables. However, this does add to the GC-woes of an import because each block gets further referenced, and for longer periods of time. There is also overhead in running the LRU evictions.

      Attachments

        1. HBASE-1597-v1.patch
          10 kB
          Jonathan Gray
        2. HBASE-1597-v2.patch
          10 kB
          Jonathan Gray

        Issue Links

          Activity

            People

              streamy Jonathan Gray
              streamy Jonathan Gray
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: