Liu Shaohui created HBASE-12801: ----------------------------------- Summary: Failed to truncate a table while maintaing binary region boundaries Key: HBASE-12801 URL: https://issues.apache.org/jira/browse/HBASE-12801 Project: HBase Issue Type: Bug Components: shell Affects Versions: 0.94.11 Reporter: Liu Shaohui Assignee: Liu Shaohui Priority: Minor
Binary region boundaries become wrong during converting byte array to normal string, and back to byte array in truncate_preserve of admin.rb, which makes the truncation of table failed. See: truncate_preserve method in admin.rb {code} splits = h_table.getRegionLocations().keys().map{|i| Bytes.toString(i.getStartKey)}.delete_if{|k| k == ""}.to_java :String splits = org.apache.hadoop.hbase.util.Bytes.toByteArrays(splits) {code} eg: {code} \xFA\x00\x00\x00\x00\x00\x00\x00 -> \xEF\xBF\xBD\x00\x00\x00\x00\x00\x00\x00 \xFC\x00\x00\x00\x00\x00\x00\x00 -> \xEF\xBF\xBD\x00\x00\x00\x00\x00\x00\x00 {code} Simple patch is using binary string instead of normal string. -- This message was sent by Atlassian JIRA (v6.3.4#6332)