[ 
https://issues.apache.org/jira/browse/HBASE-8859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13804542#comment-13804542
 ] 

rajeshbabu commented on HBASE-8859:
-----------------------------------

These are APIs related to split keys need to be added in HTI
getStartKeys()
getEndKeys()
getStartEndKeys()
getSplitKeys()  - New

and 3 more APIs related to find region location when we specify row also can be 
added to HTI
getRegionLocation(final String row)
getRegionLocation(final byte [] row)
getRegionLocation(final byte [] row, boolean reload)


> 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)

Reply via email to