[
https://issues.apache.org/jira/browse/HBASE-2823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12893752#action_12893752
]
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/
-----------------------------------------------------------
Review request for hbase.
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
-----
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
>
>
> 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.