[ https://issues.apache.org/jira/browse/HBASE-8859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699013#comment-13699013 ]
rajeshbabu commented on HBASE-8859: ----------------------------------- Patch for trunk and to reproduce the issue. > truncate_preserve should 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 > > Attachments: HBASE-8859-Test_to_reproduce.patch, > HBASE-8859_trunk.patch > > > 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