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 872E811958 for ; Thu, 18 Sep 2014 13:42:34 +0000 (UTC) Received: (qmail 243 invoked by uid 500); 18 Sep 2014 13:42:34 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 193 invoked by uid 500); 18 Sep 2014 13:42:34 -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 180 invoked by uid 99); 18 Sep 2014 13:42:34 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 18 Sep 2014 13:42:34 +0000 Date: Thu, 18 Sep 2014 13:42:34 +0000 (UTC) From: "Niels Basjes (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-11990) Make setting the start and stop row for a specific prefix easier 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-11990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14138932#comment-14138932 ] Niels Basjes commented on HBASE-11990: -------------------------------------- [~lhofhansl] Sorry, no that doesn't work. Simply appending 0x00 does not give the correct result (see also HBASE-9035 ). Assume I have these rowids (note: I actually tested this to be 100% sure) {code} { 0x12, 0x23, 0xFF, 0xFF } { 0x12, 0x23, 0xFF, 0xFF, 0x00 } { 0x12, 0x23, 0xFF, 0xFF, 0x01 } { 0x12, 0x24 } { 0x12, 0x24, 0x00 } { 0x12, 0x24, 0x00, 0x00 } {code} And I want all rows with prefix {code} { 0x12, 0x23, 0xFF, 0xFF } {code} Then using for the stopRow {code} { 0x12, 0x23, 0xFF, 0xFF, 0x00 } {code} does not give me the wanted rows. If I use {code} { 0x12, 0x24 } {code} I do get exactly what I expected. Like I said in the original description: Setting the right value is actually pretty hard. > Make setting the start and stop row for a specific prefix easier > ---------------------------------------------------------------- > > Key: HBASE-11990 > URL: https://issues.apache.org/jira/browse/HBASE-11990 > Project: HBase > Issue Type: New Feature > Components: Client > Reporter: Niels Basjes > Attachments: 11990v4.txt, HBASE-11990-20140916-v2.patch, HBASE-11990-20140916-v3.patch, HBASE-11990-20140916-v5.patch, HBASE-11990-20140916-v6.patch, HBASE-11990-20140916.patch, HBASE-11990-20140917-v7.patch > > > If you want to set a scan from your application to scan for a specific row prefix this is actually quite hard. > As described in several places you can set the startRow to the prefix; yet the stopRow should be set to the prefix '+1' > If the prefix 'ASCII' put into a byte[] then this is easy because you can simply increment the last byte of the array. > But if your application uses real binary rowids you may run into the scenario that your prefix is something like > {code}{ 0x12, 0x23, 0xFF, 0xFF }{code} Then the increment should be {code}{ 0x12, 0x24 }{code} > I have prepared a proposed patch that makes setting these values correctly a lot easier. -- This message was sent by Atlassian JIRA (v6.3.4#6332)