You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jean-Marc Spaggiari (JIRA)" <ji...@apache.org> on 2014/09/16 20:16:35 UTC

[jira] [Comment Edited] (HBASE-11990) Make setting the start and stop row for a specific prefix easier

    [ https://issues.apache.org/jira/browse/HBASE-11990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14135870#comment-14135870 ] 

Jean-Marc Spaggiari edited comment on HBASE-11990 at 9/16/14 6:16 PM:
----------------------------------------------------------------------

Should it not even be { 0x12, 0x23, 0xFF, 0xFF, 0xFF } ? 

What if you put { 0x12, 0x23, 0xFF, 0xFF }  but you have { 0x12, 0x23, 0xFF, 0xFF, 0xFF , 0xFF , 0xFF , 0xFF}  and dont want it? If you change that by  { 0x12, 0x24 } then you will get it, which is not what you want. { 0x12, 0x23, 0xFF, 0xFF, 0xFF } will not  include it.

I'm thinking at loud here. They might be some corner cases that I miss.

Edit: Forget about that. I forgot it was prefix, was just thinking about stop key...


was (Author: jmspaggi):
Should it not even be { 0x12, 0x23, 0xFF, 0xFF, 0xFF } ? 

What if you put { 0x12, 0x23, 0xFF, 0xFF }  but you have { 0x12, 0x23, 0xFF, 0xFF, 0xFF , 0xFF , 0xFF , 0xFF}  and dont want it? If you change that by  { 0x12, 0x24 } then you will get it, which is not what you want. { 0x12, 0x23, 0xFF, 0xFF, 0xFF } will not  include it.

I'm thinking at loud here. They might be some corner cases that I miss.



> 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: HBASE-11990-20140916.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, 0x00, 0x00 }{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)