[ https://issues.apache.org/jira/browse/HBASE-12801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Liu Shaohui updated HBASE-12801: -------------------------------- Attachment: HBASE-12801-trunk-v1.diff Patch for trunk. Test in local cluster with a master without truncateTable api. HMaster with truncateTable api did not have this issue. > 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 > Attachments: HBASE-12801-trunk-v1.diff > > > 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)