Binary values are formatted wrong in shell ------------------------------------------
Key: HBASE-2035 URL: https://issues.apache.org/jira/browse/HBASE-2035 Project: Hadoop HBase Issue Type: Bug Affects Versions: 0.20.2 Reporter: Dave Latham Priority: Minor Fix For: 0.20.3, 0.21.0 Binary values in the shell don't seem to be formatted correctly. For example: {code} hbase(main):007:0> put 't1', 'r1', 'f1:q1', "\x91", 1000 0 row(s) in 0.0160 seconds hbase(main):008:0> scan 't1' ROW COLUMN+CELL r1 column=f1:q1, timestamp=1260417826655, value=\357\277\275 1 row(s) in 0.1090 seconds {code} In this case we insert a single byte (double quotes needed for it to interpret the hex value correctly), but when formatted, it appears as 3 bytes in octal. The same thing happens when the data is inserted via the Java api. For example, this code: {code} HTableDescriptor tableDesc = new HTableDescriptor("t2"); tableDesc.addFamily(new HColumnDescriptor("f1")); HBaseAdmin admin = new HBaseAdmin(new HBaseConfiguration()); admin.createTable(tableDesc); HTable table = new HTable("t2"); Put put = new Put(Bytes.toBytes("r1")); put.add(Bytes.toBytes("f1"), Bytes.toBytes("q1"), new byte[] {(byte) 0x91}); table.put(put); Result result = table.get(new Get(Bytes.toBytes("r1"))); System.out.println(Bytes.toStringBinary(result.raw()[0].getValue())); {code} Prints out {{\x91}} And then accessing via shell gives: {code} hbase(main):009:0> scan 't2' ROW COLUMN+CELL r1 column=f1:q1, timestamp=1260418531959, value=\357\277\275 1 row(s) in 0.1100 seconds {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.