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

PrefetchExecutor should stop once cache reaches capacity

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.6.0, 3.0.0-alpha-4, 4.0.0-alpha-1
    • 2.6.0, 3.0.0-beta-1
    • None
    • None

    Description

      The prefetch executor runs a full scan on regions in the background once regions are opened, if the "hbase.rs.prefetchblocksonopen" property is set to true. However, if the store file size is much larger than the cache capacity, we should interrupt the prefetch once it has reached the cache capacity, otherwise it would just be triggering evictions of little value, since we don't have any sense of block priority at that point. It's better to stop the read, and let client reads cause the eviction of LFU blocks and cache the most accessed blocks.

      Attachments

        Activity

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

          People

            wchevreuil Wellington Chevreuil
            wchevreuil Wellington Chevreuil
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment