[
https://issues.apache.org/jira/browse/HBASE-6562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13542763#comment-13542763
]
Lars Hofhansl commented on HBASE-6562:
--------------------------------------
Specifically the issue here is with this code in StoreFileScanner:
{code}
// Multi-column Bloom filter optimization.
// Create a fake key/value, so that this scanner only bubbles up to the top
// of the KeyValueHeap in StoreScanner after we scanned this row/column in
// all other store files. The query matcher will then just skip this fake
// key/value and the store scanner will progress to the next column. This
// is obviously not a "real real" seek, but unlike the fake KV earlier in
// this method, we want this to be propagated to ScanQueryMatcher.
cur = kv.createLastOnRowCol();
{code}
So it seems that is in purpose but has the unfortunate side-effect that these
KVs are now presented to the Filter.filterRowKey(...)
> Fake KVs are sometimes passed to filters
> ----------------------------------------
>
> Key: HBASE-6562
> URL: https://issues.apache.org/jira/browse/HBASE-6562
> Project: HBase
> Issue Type: Bug
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Priority: Minor
> Fix For: 0.96.0
>
> Attachments: 6562.txt, 6562-v2.txt, 6562-v3.txt, minimalTest.java
>
>
> In internal tests at Salesforce we found that fake row keys sometimes are
> passed to filters (Filter.filterRowKey(...) specifically).
> The KVs are eventually filtered by the StoreScanner/ScanQueryMatcher, but the
> row key is passed to filterRowKey in RegionScannImpl *before* that happens.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira