You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "rajeshbabu (JIRA)" <ji...@apache.org> on 2013/07/03 14:37:20 UTC

[jira] [Created] (HBASE-8859) truncate_preserve get table split keys as it is instead of converting them to string type and then again to bytes

rajeshbabu created HBASE-8859:
---------------------------------

             Summary: truncate_preserve get table split keys as it is instead of converting them to string type and then again to bytes
                 Key: HBASE-8859
                 URL: https://issues.apache.org/jira/browse/HBASE-8859
             Project: HBase
          Issue Type: Bug
          Components: scripts
    Affects Versions: 0.95.1
            Reporter: rajeshbabu
            Assignee: rajeshbabu
             Fix For: 0.98.0, 0.95.2


If we take int,long or double bytes as split keys then we are not creating table with same split keys because converting them to strings directly and to bytes is giving different split keys, sometimes getting IllegalArgument exception because of same split keys(converted). Instead we can get split keys directly from HTable and pass them while creating table.
{code}
      h_table = org.apache.hadoop.hbase.client.HTable.new(conf, table_name)
      splits = h_table.getRegionLocations().keys().map{|i| i.getStartKey} :byte
      splits = org.apache.hadoop.hbase.util.Bytes.toByteArrays(splits)
{code}

{code}
Truncating 'emp3' table (it may take a while):
 - Disabling table...
 - Dropping table...
 - Creating table with region boundaries...

ERROR: java.lang.IllegalArgumentException: All split keys must be unique, found duplicate: B\x11S\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\x00\x00, B\x11S\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\x00\x00

{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira