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