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 CC70B9709 for ; Fri, 2 Mar 2012 00:07:25 +0000 (UTC) Received: (qmail 10738 invoked by uid 500); 2 Mar 2012 00:07:25 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 10705 invoked by uid 500); 2 Mar 2012 00:07:25 -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 10697 invoked by uid 99); 2 Mar 2012 00:07:25 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Mar 2012 00:07:25 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Mar 2012 00:07:23 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 447384C83 for ; Fri, 2 Mar 2012 00:07:02 +0000 (UTC) Date: Fri, 2 Mar 2012 00:07:02 +0000 (UTC) From: "David S. Wang (Updated) (JIRA)" To: issues@hbase.apache.org Message-ID: <1318144971.9658.1330646822281.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1293476084.1549.1330494362117.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (HBASE-5489) Add HTable accessor to get regions for a key range MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HBASE-5489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] David S. Wang updated HBASE-5489: --------------------------------- Attachment: HBASE-5489-4.patch Patch to fix comment error. > Add HTable accessor to get regions for a key range > -------------------------------------------------- > > Key: HBASE-5489 > URL: https://issues.apache.org/jira/browse/HBASE-5489 > Project: HBase > Issue Type: Improvement > Components: client > Reporter: David S. Wang > Assignee: David S. Wang > Priority: Minor > Fix For: 0.92.1, 0.94.0 > > Attachments: HBASE-5489-2.patch, HBASE-5489-3-0.92.1.patch, HBASE-5489-3.patch, HBASE-5489-4.patch > > > It would be nice to have an accessor to find all regions that overlap with a particular range of keys. Right now, the only way to accomplish that is to call HTable.getStartEndKeys(), then follow that with calls to getRegionLocation() for the range of keys you are interested in. This algorithm has 2 drawbacks: > * It returns more keys than is necessary most of the time. This is especially evident if there are a lot of regions comprising the table and the range of keys is small. > * It always does a scan of .META. via MetaScannerVisitor for at least HTable.getStartEndKeys(), and perhaps for HRegionLocations that are not already cached by the client. > An accessor that limited its scans to a specified range could avoid scanning .META. at all if the HRegionLocations being fetched were already cached by the client, thereby potentially making this operation faster in common cases. > Here's a proposal for the accessor: > /** > * Get the corresponding regions for an arbitrary range of keys. > *

> * @param startRow Starting row in range, inclusive > * @param endRow Ending row in range, inclusive > * @return A list of HRegionLocations corresponding to the regions that > * contain the specified range > * @throws IOException if a remote or network exception occurs > */ > public List getRegionsInRange(final byte [] startKey, > final byte [] endKey) throws IOException -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira