- 
                Notifications
    You must be signed in to change notification settings 
- Fork 3.4k
HBASE-28463 Time Based Priority for BucketCache #7192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…t-cache (#5793) Signed-off-by: Wellington Chevreuil <[email protected]>
…or Time Range Data Tiering (#5809) Signed-off-by: Wellington Chevreuil <[email protected]>
…in prefetch functionality of HBase (#5808) Signed-off-by: Wellington Chevreuil <[email protected]>
…5829) Signed-off-by: Wellington Chevreuil <[email protected]>
) Signed-off-by: Wellington Chevreuil <[email protected]>
…on paths (#5866) Signed-off-by: Wellington Chevreuil <[email protected]> Reviewed-by: Janardhan Hugund <[email protected]>
…ode paths. (#5905) Signed-off-by: Wellington Chevreuil <[email protected]>
      
        
              This comment has been minimized.
        
        
      
    
  This comment has been minimized.
      
        
              This comment has been minimized.
        
        
      
    
  This comment has been minimized.
      
        
              This comment has been minimized.
        
        
      
    
  This comment has been minimized.
      
        
              This comment has been minimized.
        
        
      
    
  This comment has been minimized.
      
        
              This comment has been minimized.
        
        
      
    
  This comment has been minimized.
      
        
              This comment has been minimized.
        
        
      
    
  This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
few questions below and inlines, otherwise LGTM
- according from #5829, there is a file TestPrefetch.java in the diff, where did we remove it from this PR?
| BlockType.BlockCategory category = hfileBlock.getBlockType().getCategory(); | ||
| final boolean cacheCompressed = cacheConf.shouldCacheCompressed(category); | ||
| final boolean cacheOnRead = cacheConf.shouldCacheBlockOnRead(category); | ||
| final boolean cacheOnRead = | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this part is different from #5905 , where cacheOnRead has been defined but it does not use in line#1391 and line#1405, is it expected?
in other words, is these two APIs of cacheConf.shouldCacheBlockOnRead(category) and cacheConf.shouldCacheBlockOnRead(category, getHFileInfo(), conf) the same?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in other words, is these two APIs of cacheConf.shouldCacheBlockOnRead(category) and cacheConf.shouldCacheBlockOnRead(category, getHFileInfo(), conf) the same?
Those are not the same. The former just checks for the block type, whilst the latter performs additional checks to figure if the data block is already cached, in order to avoid redundant caching from file system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, sorry I didn't explain my comment with links,
about the cacheOnRead , in the old PR #5905 , cacheOnRead has been used within the if block if (cacheOnly && cacheCompressed && cacheOnRead) {  https://github.com/apache/hbase/pull/5905/files#diff-c910a49e7d962e49b199d22f38e1cd78d867351208b86bffdd56ffb9aa1aa596R1358 , but in this PR, we don't see those usage of cacheOnRead, did I miss anything?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I think I got it now. This is probably due to the rebase on top of master branch. Master branch had this HBASE-28596, which was missing on the feature branch when PR #5905 was merged. So when resolving this conflict in the rebase, I simply picked the master version.
Reading this now, seems wrong to me, we should do as PR #595 was doing. I'm going to update it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for fixing it. LGTM now
| // Since HBASE-28466, we call fileInfo.initMetaAndIndex inside HFilePreadReader, | ||
| // which reads some blocks and increment the counters, so we need to reset it here. | ||
| ThreadLocalServerSideScanMetrics.getBytesReadFromFsAndReset(); | ||
| ThreadLocalServerSideScanMetrics.getBlockReadOpsCountAndReset(); | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's not part of #7124 , can you point out where does this come from ? new changes to fix tests when HBASE-28466 is included?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, these are changes introduced in this PR last commit to fix the tests for HBASE-28466 changes.
| 
 That change from #5829 was removed when resolving conflicts from HBASE-28804. The code introduced on HBASE-28804 makes change from #5829 irrelevant. | 
…ure branch (#7124) This is the whole custom tiering implementation and involves the following individual works: * HBASE-29412 Extend date tiered compaction to allow for tiering by values other than cell timestamp * HBASE-29413 Implement a custom qualifier tiered compaction * HBASE-29414 Refactor DataTieringManager to make priority logic pluggable * HBASE-29422 Implement selectMinorCompation in CustomCellDateTieredCompactionPolicy * HBASE-29424 Implement configuration validation for custom tiering compactions * HBASE-29425 Refine and polish code * HBASE-29426 Define a tiering value provider and refactor custom tiered compaction related classes * HBASE-28463 Rebase time based priority branch (HBASE-28463) with latest master (and fix conflicts) Co-authored-by: Janardhan Hungund <[email protected]> Signed-off-by: Tak Lon (Stephen) Wu <[email protected]>
7b7728d    to
    6fdffaf      
    Compare
  
    | 🎊 +1 overall 
 
 This message was automatically generated. | 
| 🎊 +1 overall 
 
 This message was automatically generated. | 
| Any further comments, @taklwu ? | 
No description provided.