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

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

Message from: "Alexander Georgiev" <[email protected]>

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.cloudera.org/r/426/
-----------------------------------------------------------

(Updated 2010-08-03 13:04:02.245493)


Review request for hbase.


Changes
-------

Applied corrections suggested by Nicolas.


Summary
-------

When a Delete Row is issued on a row with row+col bloom filter, some of the 
columns might not be deleted. Since a Delete Row is just Delete Family applied 
to all columns, if a file doesn't contain the column we are searching for it 
might end up unaffected. In order to ensure the file will be included, the row 
together with row+col are added in the bloom. Then shouldSeek() checks both row 
and row+col if the bloom is row+col (BloomType.ROWCOL). That adds additional 
false positives, which are taken into account with dividing the error rate the 
user requires by two.


This addresses bug HBASE-2823.
    http://issues.apache.org/jira/browse/HBASE-2823


Diffs (updated)
-----

  trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
979864 
  trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
979864 

Diff: http://review.cloudera.org/r/426/diff


Testing
-------

Added new test that checks this in TestHRegion.java.
Dumped the contents of the StoreFile in order to ensure that the bloom filter 
has row as a value when using ROWCOL blooms.


Thanks,

Alexander




> Entire Row Deletes not stored in Row+Col Bloom
> ----------------------------------------------
>
>                 Key: HBASE-2823
>                 URL: https://issues.apache.org/jira/browse/HBASE-2823
>             Project: HBase
>          Issue Type: Bug
>          Components: filters, regionserver
>    Affects Versions: 0.90.0
>            Reporter: Nicolas Spiegelberg
>            Assignee: Alexander Georgiev
>             Fix For: 0.90.0
>
>         Attachments: HBASE-2823.patch
>
>
> If the user issues a Row Delete on an family with Row+Col blooms, that 
> information is not currently detected by shouldSeek().  Possible known 
> solutions are:
> 1. adding Row as Bloom Filter Key on Row Delete, shouldSeek() should do both 
> a Row & Row+Col query for Row+Col filters.
> 2. keep delete information in a separate storage element.
> #1 seems like the best solution, but need to investigate further and fix this 
> problem.

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

Reply via email to