[
https://issues.apache.org/jira/browse/HBASE-6562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13467286#comment-13467286
]
Alex Newman commented on HBASE-6562:
------------------------------------
Sorry, I haven't had a lot of time to look at this. Still trying to figure out
what exactly is going on, it looks like the when the first KeyValue of a scan
in the column from the point of view of the code
HRegion.java
} else if (kv != null && !kv.isInternal() && filterRowKey(currentRow)) {
Is generated by
public static KeyValue createLastOnRow(final byte [] row,
final int roffset, final int rlength, final byte [] family,
final int foffset, final int flength, final byte [] qualifier,
final int qoffset, final int qlength) {
return new KeyValue(row, roffset, rlength, family,
foffset, flength, qualifier, qoffset, qlength,
HConstants.OLDEST_TIMESTAMP, Type.Minimum, null, 0, 0);
}
So it is always internal from that point of the code.
Only later from within
StoreScanner.java
public synchronized boolean next(List<KeyValue> outResult, int limit,
String metric) throws IOException {
....
LOOP: while((kv = this.heap.peek()) != null) {
( The second time through)
Do we get the actual kv, with a proper type and timestamp. This seems to mess
with filtering.
> 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.94.2, 0.96.0
>
> Attachments: 6562.txt, 6562-v2.txt, 6562-v3.txt
>
>
> 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