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

Add a option to disable the data block cache for testing the performance of underlying file system

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 2.0.0
    • integration tests
    • None
    • Reviewed
    • Hide
      Add a new config: hbase.block.data.cacheonread, which is a global switch for caching data blocks on read. The default value of this switch is true, and data blocks will be cached on read if the block cache is enabled for the family and cacheBlocks flag is set to be true for get and scan operations. If this global switch is set to false, data blocks won't be cached even if the block cache is enabled for the family and the cacheBlocks flag of Gets or Scans are sets as true. Bloom blocks and index blocks are always be cached if the block cache of the regionserver is enabled. One usage of this switch is for the performance tests for the extreme case that the cache for data blocks all missed and all data blocks are read from underlying file system.
      Show
      Add a new config: hbase.block.data.cacheonread, which is a global switch for caching data blocks on read. The default value of this switch is true, and data blocks will be cached on read if the block cache is enabled for the family and cacheBlocks flag is set to be true for get and scan operations. If this global switch is set to false, data blocks won't be cached even if the block cache is enabled for the family and the cacheBlocks flag of Gets or Scans are sets as true. Bloom blocks and index blocks are always be cached if the block cache of the regionserver is enabled. One usage of this switch is for the performance tests for the extreme case that the cache for data blocks all missed and all data blocks are read from underlying file system.

    Description

      When testing and comparing the performance of different file systems(HDFS, Azure blob storage, AWS S3 and so on) for HBase, it's better to avoid the affect of the HBase BlockCache and get the actually random read latency when data block is read from underlying file system. (Usually, the index block and meta block should be cached in memory in the testing).

      So we add a option in CacheConfig to disable the data block cache.

      Suggestions are welcomed~ Thanks

      Attachments

        1. HBASE-15338-trunk-v7.diff
          10 kB
          Shaohui Liu
        2. HBASE-15338-trunk-v6.diff
          10 kB
          Shaohui Liu
        3. HBASE-15338-trunk-v5.diff
          11 kB
          Shaohui Liu
        4. HBASE-15338-trunk-v4.diff
          11 kB
          Shaohui Liu
        5. HBASE-15338-trunk-v3.diff
          10 kB
          Shaohui Liu
        6. HBASE-15338-trunk-v2.diff
          11 kB
          Shaohui Liu
        7. HBASE-15338-trunk-v1.diff
          11 kB
          Shaohui Liu

        Activity

          People

            liushaohui Shaohui Liu
            liushaohui Shaohui Liu
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: