[
https://issues.apache.org/jira/browse/HBASE-8859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13803977#comment-13803977
]
rajeshbabu commented on HBASE-8859:
-----------------------------------
[[email protected]]
Since no split keys related APIs in HTableInterface I didn't add there. I will
raise a separate issue for adding all split key related APIs in HTableInterface
and work on it. Is it ok?
> 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.96.1
>
> Attachments: HBASE-8859-Test_to_reproduce.patch,
> HBASE-8859_trunk_2.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 was sent by Atlassian JIRA
(v6.1#6144)