Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 672A117AE6 for ; Tue, 17 Nov 2015 11:59:11 +0000 (UTC) Received: (qmail 87125 invoked by uid 500); 17 Nov 2015 11:59:11 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 87081 invoked by uid 500); 17 Nov 2015 11:59:11 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 87066 invoked by uid 99); 17 Nov 2015 11:59:11 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Nov 2015 11:59:11 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id E6A042C1F51 for ; Tue, 17 Nov 2015 11:59:10 +0000 (UTC) Date: Tue, 17 Nov 2015 11:59:10 +0000 (UTC) From: "ramkrishna.s.vasudevan (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-14826) Small improvement in KVHeap seek() API MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-14826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ramkrishna.s.vasudevan updated HBASE-14826: ------------------------------------------- Assignee: ramkrishna.s.vasudevan Status: Patch Available (was: Open) > 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)