[
https://issues.apache.org/jira/browse/HBASE-16501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15438603#comment-15438603
]
ramkrishna.s.vasudevan commented on HBASE-16501:
------------------------------------------------
{code}
if (stopSkippingKVsIfNextRow && // for backwardSeek() stay in the
startKV != null && // boundaries of a single row
segment.compareRows(next, startKV) > 0) {
return null;
}
{code}
the var 'stopSkippingKVsIfNextRow ' is for avoiding this unnecessary skip I
think but the condition does not work when starkKV itself is null.
> seekToPrevoiusRow() can be optimized
> ------------------------------------
>
> Key: HBASE-16501
> URL: https://issues.apache.org/jira/browse/HBASE-16501
> Project: HBase
> Issue Type: Improvement
> Components: Performance, Scanners
> Affects Versions: 2.0.0
> Reporter: ramkrishna.s.vasudevan
> Assignee: ramkrishna.s.vasudevan
> Fix For: 2.0.0
>
>
> Need to check the details and see how to implement it. But the problem is this
> In seekToPReviousRow impl in case of a reverse scan, say we have rows
> row10000 to row20000. We are doing a reverse scan.
> The scan starts from row20000 and we read all columns. Assume this row was
> skipped due to mvcc we move to the previous row 'row19999'. Now we read this
> row19999 and even if this does not match in mvcc we skip and again read
> row20000 and do the same.
> Like this we keep doing til we come to row10000 and this time we read til
> row20000 just to k now we have to skip it. The same problem happens in
> Storefilescanner also and there we do lot of seek and next(). Better to solve
> this case.
> [~zjushch] - FYI.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)