hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "HBase Review Board (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2794) ROWCOL bloom filter not used if multiple columns within same family are requested in a Get
Date Mon, 12 Jul 2010 20:27:54 GMT

    [ https://issues.apache.org/jira/browse/HBASE-2794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12887507#action_12887507
] 

HBase Review Board commented on HBASE-2794:
-------------------------------------------

Message from: "Kris Jirapinyo" <kjirapinyo@attensity.com>


bq.  On 2010-07-12 13:14:32, Kannan Muthukkaruppan wrote:
bq.  > /trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java, line 880
bq.  > <http://review.hbase.org/r/296/diff/1/?file=2378#file2378line880>
bq.  >
bq.  >     can't this loop be over "columns" itself? And then inside the loop, you prepare
one key at a time use Bytes.add(row, col). That way, you can avoid the keyList data structure
completely.

Another good idea :) Will also get rid of the warning that keyList could possibly be null.


- Kris


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.hbase.org/r/296/#review361
-----------------------------------------------------------





> ROWCOL bloom filter not used if multiple columns within same family are requested in
a Get
> ------------------------------------------------------------------------------------------
>
>                 Key: HBASE-2794
>                 URL: https://issues.apache.org/jira/browse/HBASE-2794
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Kannan Muthukkaruppan
>         Attachments: 2794_multi_column_check.txt
>
>
> Noticed the following snippet in StoreFile.java:Scanner:shouldSeek():
> {code}
>         switch(bloomFilterType) {
>           case ROW:
>             key = row;
>             break;
>           case ROWCOL:
>             if (columns.size() == 1) {
>               byte[] col = columns.first();
>               key = Bytes.add(row, col);
>               break;
>             }
>             //$FALL-THROUGH$
>           default:
>             return true;
>         }
> {code}
> If columns.size > 1, then we currently don't take advantage of the bloom filter. 
We should optimize this to check bloom for each of columns and if none of the columns are
present in the bloom avoid opening the file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message