[ 
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

        

Reply via email to