[
https://issues.apache.org/jira/browse/HBASE-14826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15015616#comment-15015616
]
ramkrishna.s.vasudevan commented on HBASE-14826:
------------------------------------------------
In the current code do we do that except when the scanner heap is set/reset and
also that time we do the seek() on the contents of the KVHeap directly - right?
During the course of a scan only we use the KVHeap.reseek().
Anyway in case that could be used even in seek - we can do the pq.add(current)
and pq.poll() inside that 'forward' check so that even that is handled.
> Small improvement in KVHeap seek() API
> --------------------------------------
>
> Key: HBASE-14826
> URL: https://issues.apache.org/jira/browse/HBASE-14826
> Project: HBase
> Issue Type: Improvement
> Reporter: ramkrishna.s.vasudevan
> Assignee: ramkrishna.s.vasudevan
> Priority: Minor
> Attachments: HBASE-14826.patch
>
>
> Currently in seek/reseek() APIs we tend to do lot of priorityqueue related
> operations. We initially add the current scanner to the heap, then poll and
> again add the scanner back if the seekKey is greater than the topkey in that
> scanner. Since the KVs are always going to be in increasing order and in
> ideal scan flow every seek/reseek is followed by a next() call it should be
> ok if we start with checking the current scanner and then do a poll to get
> the next scanner. Just avoid the initial PQ.add(current) call. This could
> save some comparisons.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)