Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
0.98.0, 0.95.1, 0.99.0
-
None
-
None
Description
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.
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)
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
Attachments
Attachments
Issue Links
- incorporates
-
HBASE-10208 Add split keys and region location related API in HTable to HTableInterface as well
- Closed
- is duplicated by
-
HBASE-9760 truncate_preserve uses duplicate split keys
- Closed