@stack: Thanks for explanation. I understand the difference between single quotes and double quotes. Using single quote to interpret the string literally is not the behavior I expect. I want the bytes exactly represented by the escaped hexadecimal strings.
@Ted: I filed a JIRA issue at https://issues.apache.org/jira/browse/HBASE-8865 . I also added some more observations there. On Thu, Jul 4, 2013 at 1:54 AM, Stack <st...@duboce.net> wrote: > Try single quotes. The shell (ruby) may be trying to 'help you' by > interpreting your hex. > > hbase(main):018:0> print "\x20\n" > > hbase(main):019:0> print '\x20\n' > \x20\nhbase(main):020:0> > > See how w/ double quotes it prints space and new line where when I > single-quote it, it prints out the literal? > > At the end of the shell help it says: > > "If you are using binary keys or values and need to enter them in the > shell, use > double-quote'd hexadecimal representation. For example: > > hbase> get 't1', "key\x03\x3f\xcd" > hbase> get 't1', "key\003\023\011" > hbase> put 't1', "test\xef\xff", 'f1:', "\x01\x33\x40" > ..." > > Looks like we need to add a line which says if you are using hex, to avoid > ruby's interpreting your intent, single-quote. > > St.Ack > > > On Wed, Jul 3, 2013 at 4:30 AM, Ding Haifeng <hank.d...@gmail.com> wrote: > > > Hi, all. > > > > When I tried to do a manual region split from HBase shell, I found that > > split command acts incorrectly with hex split keys. > > > > For example, I executed > > > > hbase(main):003:0> split 'tsdb', "\x00\x00\xC3" > > > > but table 'tsdb' actually split at "\x00\x00\xEF\xBF\xBD" > > > > I'm running Hbase 0.94.8, r1485407, both server-side and client-side. > > > > Any help would be appreciated. Thanks. > > > > > > > > -- > > Ding Haifeng > > > -- Ding Haifeng