You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Liyin Tang (Updated) (JIRA)" <ji...@apache.org> on 2011/10/14 07:16:12 UTC

[jira] [Updated] (HBASE-4532) Avoid top row seek by dedicated bloom filter for row with empty column

     [ https://issues.apache.org/jira/browse/HBASE-4532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Liyin Tang updated HBASE-4532:
------------------------------

    Description: 
HBASE-4469 avoids the top row seek operation if row-col bloom filter is enabled. 
This jira tries to avoid top row seek for all the cases by creating a dedicated bloom filter only for row with empty column.

Previous solution is to create the dedicated bloom filter for delete family, which does not work if there is a row with empty column.
For example, 
we are interested in row1/cf1:/1/put.
So we seek to the top row: row1/cf1:/MAX_TS/MAXIMUM. And the delete family bloom filter will say there is NO delete family.
Then it will avoid the top row seek and return a fake kv, which is the last kv for this row (createLastOnRowCol).
In this way, we have already missed the real kv we are interested in.


The root cause is that even there is no delete family at top row, we still cannot avoid the top row seek.
We can ONLY avoid the top row seek when there is no row with empty column, no matter what kind of kv type (delete/deleteCol/deleteFamily/put).
So the current solution is to create the dedicate bloom filter for row with empty column.


  was:
HBASE-4469 avoids the top row seek operation if row-col bloom filter is enabled. 
This jira tries to avoid top row seek for all the cases by creating a dedicated bloom filter only for delete family.

        Summary: Avoid top row seek by dedicated bloom filter for row with empty column  (was: Avoid top row seek by dedicated bloom filter for delete family)
    
> Avoid top row seek by dedicated bloom filter for row with empty column
> ----------------------------------------------------------------------
>
>                 Key: HBASE-4532
>                 URL: https://issues.apache.org/jira/browse/HBASE-4532
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Liyin Tang
>            Assignee: Liyin Tang
>
> HBASE-4469 avoids the top row seek operation if row-col bloom filter is enabled. 
> This jira tries to avoid top row seek for all the cases by creating a dedicated bloom filter only for row with empty column.
> Previous solution is to create the dedicated bloom filter for delete family, which does not work if there is a row with empty column.
> For example, 
> we are interested in row1/cf1:/1/put.
> So we seek to the top row: row1/cf1:/MAX_TS/MAXIMUM. And the delete family bloom filter will say there is NO delete family.
> Then it will avoid the top row seek and return a fake kv, which is the last kv for this row (createLastOnRowCol).
> In this way, we have already missed the real kv we are interested in.
> The root cause is that even there is no delete family at top row, we still cannot avoid the top row seek.
> We can ONLY avoid the top row seek when there is no row with empty column, no matter what kind of kv type (delete/deleteCol/deleteFamily/put).
> So the current solution is to create the dedicate bloom filter for row with empty column.

--
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