[ https://issues.apache.org/jira/browse/HBASE-12717?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Weichen Ye updated HBASE-12717: ------------------------------- Description: When we set the start key and the end key in the function: createTable(HTableDescriptor desc, byte[] startKey, byte[] endKey, int numRegions) The current pre-split algorithm could not find a split point between the keys like "aaa" and "aab", "1111" and "1112". Example Code for this bug: admin.createTable(htd, Bytes.toBytes("aaa"), Bytes.toBytes("aab"), 4); we will get the following ERROR: Exception in thread "main" java.lang.IllegalArgumentException: Unable to split key range into enough regions at org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:473) at test.JavaTest.main(JavaTest.java:28) We hope this pre-split algorithm should be able to get split point with an additional byte. for example: "aaa" and "aab", split point= "aaaP" "1111" and "1112", split point ="1111P" was: When we set the start key and the end key in the function: createTable(HTableDescriptor desc, byte[] startKey, byte[] endKey, int numRegions) The current pre-split algorithm could not find a split point between the keys like "aaa" and "aab", "1111" and "1112". Example Code for this bug: admin.createTable(htd, Bytes.toBytes("aaa"), Bytes.toBytes("aab"), 4); we will get the following ERROR: Exception in thread "main" java.lang.IllegalArgumentException: Unable to split key range into enough regions at org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:473) at test.JavaTest.main(JavaTest.java:28) We hope this pre-split algorithm should be able to get split point with an additional bytes. for example: "aaa" and "aab", split point= "aaaP" "1111" and "1112", split point ="1111P" > Pre-split in HBaseAdmin.create() can not find the split point > ------------------------------------------------------------- > > Key: HBASE-12717 > URL: https://issues.apache.org/jira/browse/HBASE-12717 > Project: HBase > Issue Type: Bug > Components: Admin > Affects Versions: 0.98.6 > Reporter: Weichen Ye > Priority: Critical > > When we set the start key and the end key in the function: > createTable(HTableDescriptor desc, byte[] startKey, byte[] endKey, int > numRegions) > The current pre-split algorithm could not find a split point between the keys > like "aaa" and "aab", "1111" and "1112". > Example Code for this bug: > admin.createTable(htd, Bytes.toBytes("aaa"), Bytes.toBytes("aab"), 4); > we will get the following ERROR: > Exception in thread "main" java.lang.IllegalArgumentException: Unable to > split key range into enough regions > at > org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:473) > at test.JavaTest.main(JavaTest.java:28) > We hope this pre-split algorithm should be able to get split point with an > additional byte. for example: > "aaa" and "aab", split point= "aaaP" > "1111" and "1112", split point ="1111P" > -- This message was sent by Atlassian JIRA (v6.3.4#6332)