[ https://issues.apache.org/jira/browse/HBASE-16501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15454562#comment-15454562 ]
ramkrishna.s.vasudevan commented on HBASE-16501: ------------------------------------------------ Am not sure how to see the count. But when you run the TestHRegion#testReverseScanner_StackOverflow with and without patch you get this difference Without patch - 50014998 we do these many getNext call as part of seekToPreviousRow(). With patch - 29997. > 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 > > Attachments: HBASE-16501.patch, HBASE-16501_1.patch > > > 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)