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

Create an option to reintroduce BlockCache to mapreduce job

    XMLWordPrintableJSON

Details

    • Hide
      Introduce `hfile.onheap.block.cache.fixed.size` and default to disable. When using ClientSideRegionScanner, it will be enabled with a fixed size for caching INDEX/LEAF_INDEX block when a client, e.g. snapshot scanner, scans the entire HFile and does not need to seek/reseek to index block multiple times.
      Show
      Introduce `hfile.onheap.block.cache.fixed.size` and default to disable. When using ClientSideRegionScanner, it will be enabled with a fixed size for caching INDEX/LEAF_INDEX block when a client, e.g. snapshot scanner, scans the entire HFile and does not need to seek/reseek to index block multiple times.

    Description

      In HBASE-21498 (see this commit, it change the behavior that only region server can initialize on-heap BlockCache/LruBlockCache, this should be the right change for HMaster.

      Other downstream dependency that uses getScanner from a file-based region and read HStore/HFile lost the BlockCache for caching INDEX/LEAF_INDEX (at least still a problem with HBase-2.4) after this change (it worked before) and caused performance impact with 2x slower.

      One way to bring back the performance is to allow non-RS and non-HMaster can use a compact version of blockcache with smaller memory and less hbase internal configuration.

      Or if we can find a way to cache or skip reading the same LEAF_INDEX when scanning the DATA block with HFile.

      Attachments

        Issue Links

          Activity

            People

              taklwu Tak-Lon (Stephen) Wu
              taklwu Tak-Lon (Stephen) Wu
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: