[ https://issues.apache.org/jira/browse/HBASE-4469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13122075#comment-13122075 ]
jirapos...@reviews.apache.org commented on HBASE-4469: ------------------------------------------------------ ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/2235/ ----------------------------------------------------------- Review request for hbase. Summary ------- The problem is that when seeking for the row/col in the hfile, we will go to top of the row in order to check for row delete marker (delete family). However, if the bloomfilter is enabled for the column family, then if a delete family operation is done on a row, the row is already being added to bloomfilter. We can take advantage of this factor to avoid seeking to the top of row. Also, Update the TestBlocksRead unit tests. since most of block read count has dropped to a lower number. Evaluation: In TestSeekingOptimization, it saved 31.6% seek operation perviously. Now it saves about 41.82% seek operation. 10% more seek operation. ====================== Before this diff: For bloom=ROWCOL, compr=GZ total seeks without optimization: 2506, with optimization: 1714 (68.40%), savings: 31.60% ===================== Apply this diff: For bloom=ROWCOL, compr=GZ total seeks without optimization: 2506, with optimization: 1458 (58.18%), savings: 41.82% ===================== Thanks Mikhail and Kannan's help and discussion. This addresses bug HBASE-4469. https://issues.apache.org/jira/browse/HBASE-4469 Diffs ----- src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java 7b0b9e6 src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java 8dd8a68 src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java abccea4 Diff: https://reviews.apache.org/r/2235/diff Testing ------- Run all the unit tests. There are 2 unit tests failed with and without my change. TestDistributedLogSplitting TestHTablePool Thanks, Liyin > Avoid top row seek by looking up bloomfilter > -------------------------------------------- > > Key: HBASE-4469 > URL: https://issues.apache.org/jira/browse/HBASE-4469 > Project: HBase > Issue Type: Improvement > Reporter: Liyin Tang > Assignee: Liyin Tang > > The problem is that when seeking for the row/col in the hfile, we will go to > top of the row in order to check for row delete marker (delete family). > However, if the bloomfilter is enabled for the column family, then if a > delete family operation is done on a row, the row is already being added to > bloomfilter. We can take advantage of this factor to avoid seeking to the top > of row. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira