You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Liu Shaohui (JIRA)" <ji...@apache.org> on 2015/01/04 07:01:34 UTC

[jira] [Created] (HBASE-12801) Failed to truncate a table while maintaing binary region boundaries

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)