[ https://issues.apache.org/jira/browse/HBASE-11990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14139021#comment-14139021 ]
Niels Basjes commented on HBASE-11990: -------------------------------------- I created this shell script to take away any remaining doubt about what the right stopRow value is: {code} #!/bin/bash -x hbase shell << HBaseScript create 'ScanTestHBASE11990', 'F' put 'ScanTestHBASE11990', "\x12", 'F:qualfier', 'value' put 'ScanTestHBASE11990', "\x12\x12\xFF\xFE", 'F:qualfier', 'value' put 'ScanTestHBASE11990', "\x12\x12\xFF\xFF", 'F:qualfier', 'value' put 'ScanTestHBASE11990', "\x12\x12\xFF\xFF\x00", 'F:qualfier', 'value' put 'ScanTestHBASE11990', "\x12\x12\xFF\xFF\x01", 'F:qualfier', 'value' put 'ScanTestHBASE11990', "\x12\x13", 'F:qualfier', 'value' put 'ScanTestHBASE11990', "\x12\x13\x00", 'F:qualfier', 'value' put 'ScanTestHBASE11990', "\x12\x13\x00\x00", 'F:qualfier', 'value' put 'ScanTestHBASE11990', "\x12\x14", 'F:qualfier', 'value' put 'ScanTestHBASE11990', "\xFF\xFF\xFF\xFF\xFF", 'F:qualfier', 'value' scan 'ScanTestHBASE11990', {STARTROW => "\x12\x12\xFF\xFF" , ENDROW => "\x12\x12\xFF\xFF\x00" } scan 'ScanTestHBASE11990', {STARTROW => "\x12\x12\xFF\xFF" , ENDROW => "\x12\x13" } disable 'ScanTestHBASE11990' drop 'ScanTestHBASE11990' HBaseScript {code} The output of the two scans: {code} scan 'ScanTestHBASE11990', {STARTROW => "\x12\x12\xFF\xFF" , ENDROW => "\x12\x12\xFF\xFF\x00" } ROW COLUMN+CELL \x12\x12\xFF\xFF column=F:qualfier, timestamp=1411051805182, value=value 1 row(s) in 0.0400 seconds {code} {code} scan 'ScanTestHBASE11990', {STARTROW => "\x12\x12\xFF\xFF" , ENDROW => "\x12\x13" } ROW COLUMN+CELL \x12\x12\xFF\xFF column=F:qualfier, timestamp=1411051805182, value=value \x12\x12\xFF\xFF\x00 column=F:qualfier, timestamp=1411051805230, value=value \x12\x12\xFF\xFF\x01 column=F:qualfier, timestamp=1411051805256, value=value 3 row(s) in 0.0110 seconds {code} > 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)