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

Add option to cache blocks on hfile write and evict blocks on hfile close

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.90.0
    • Fix Version/s: 0.92.0
    • Component/s: io, regionserver
    • Labels:
      None
    • Hadoop Flags:
      Reviewed
    • Release Note:
      Hide
      Introduces two new configuration parameters: hbase.rs.cacheblocksonwrite (default: false) which will pre-cache all blocks of a file into the block cache as it is written, and hbase.rs.evictblocksonclose (default: true) which will evict all blocks of a file from the block cache when a file is closed on a RS.
      Show
      Introduces two new configuration parameters: hbase.rs.cacheblocksonwrite (default: false) which will pre-cache all blocks of a file into the block cache as it is written, and hbase.rs.evictblocksonclose (default: true) which will evict all blocks of a file from the block cache when a file is closed on a RS.

      Description

      This issue is about adding configuration options to add/remove from the block cache when creating/closing files. For use cases with lots of flushing and compacting, this might be desirable to prevent cache misses and maximize the effective utilization of total block cache capacity.

      The first option, hbase.rs.cacheblocksonwrite, will make it so we pre-cache blocks as we are writing out new files.

      The second option, hbase.rs.evictblocksonclose, will make it so we evict blocks when files are closed.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                streamy Jonathan Gray
                Reporter:
                streamy Jonathan Gray
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: