[ https://issues.apache.org/jira/browse/HBASE-4627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nicolas Spiegelberg updated HBASE-4627: --------------------------------------- Comment: was deleted (was: nspiegelberg has commented on the revision "[jira] [HBASE-4627] Ability to specify a custom start/end to RegionSplitter". INLINE COMMENTS src/main/java/org/apache/hadoop/hbase/util/Bytes.java:1417 this part was very tricky to me as well. the problem is that the region is exclusive [start,end) but the last row of the table is prefix-exclusive [start,prefix(end)]. you can reason about this best with an 8-bit HexStringSplit use case row = itoa(hash(row) % 256) + row table range = ["00", "FF"] row = "FFnic" <-- should be accepted row = "FGnic" <-- should FAIL memcmp("FF","FFnic") > 0 memcmp("FF", "FFnic", sizeof("FF")) == 0 In this case, you can split into 256 regions optimally. So you should do: startBI = new BigInteger(0x00) ==0 stopBI = new BigInteger(0xFF) == 255 diffBI = 255.substract(0) if (inclusive) { diffBI = 255 + 1 } REVISION DETAIL https://reviews.facebook.net/D39 COMMITS https://reviews.facebook.net/rHBASE1196256 https://reviews.facebook.net/rHBASE1196772 ) > Ability to specify a custom start/end to RegionSplitter > ------------------------------------------------------- > > Key: HBASE-4627 > URL: https://issues.apache.org/jira/browse/HBASE-4627 > Project: HBase > Issue Type: Improvement > Affects Versions: 0.94.0 > Reporter: Nicolas Spiegelberg > Assignee: Nicolas Spiegelberg > Attachments: D39.1.patch, D39.1.patch > > > HBASE-4489 changed the default endKey on HexStringSplit from 7FFF... to > FFFF... While this is correct, existing users of 0.90 RegionSplitter have > 7FFF as the end key in their schema and the last region will not split > properly under this new code. We need to let the user specify a custom > start/end key range for when situations like this arise. Optimally, we > should also write the start/end key in META so we could figure this out > implicitly instead of requiring the user to explicitly specify it. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira