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

Duo Zhang commented on HBASE-17958:
-----------------------------------

Can avoid using lambda expression as I think the patch will also be applied to 
branch-1.

And just call it 'trySkipTo' rather than 'optimizeSeekToSkip'? The name 
'optimizeSeekToSkip' is bit confusing for me on whether we have done the skip 
when returning true.

And I think there is a 'get' field in StoreScanner so we do not need to call 
scan.isGetScan()? There are bytes comparison in the method.

Overall LGTM. +1.

> Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-17958
>                 URL: https://issues.apache.org/jira/browse/HBASE-17958
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Guanghao Zhang
>            Assignee: Guanghao Zhang
>         Attachments: 0001-add-one-ut-testWithColumnCountGetFilter.patch, 
> HBASE-17958-v1.patch, HBASE-17958-v2.patch, HBASE-17958-v3.patch
>
>
> {code}
> ScanQueryMatcher.MatchCode qcode = matcher.match(cell);
> qcode = optimize(qcode, cell);
> {code}
> The optimize method may change the MatchCode from SEEK_NEXT_COL/SEEK_NEXT_ROW 
> to SKIP. But it still pass the next cell to ScanQueryMatcher. It will get 
> wrong result when use some filter, etc. ColumnCountGetFilter. It just count 
> the  columns's number. If pass a same column to this filter, the count result 
> will be wrong. So we should avoid passing cell to ScanQueryMatcher when 
> optimize SEEK to SKIP.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to