hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicolas Spiegelberg (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-4627) Ability to specify a custom start/end to RegionSplitter
Date Wed, 02 Nov 2011 22:19:33 GMT

     [ 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".

  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 }


> 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


View raw message