You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2014/12/18 18:06:13 UTC

[jira] [Commented] (HBASE-12716) A bug in RegionSplitter.UniformSplit algorithm

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

Ted Yu commented on HBASE-12716:
--------------------------------

[~yeweichen]:
Can you put the code snippet above in TestRegionSplitter#unitTestUniformSplit ?

If you have a patch for the fix, that would be even better.

> A bug in RegionSplitter.UniformSplit algorithm
> ----------------------------------------------
>
>                 Key: HBASE-12716
>                 URL: https://issues.apache.org/jira/browse/HBASE-12716
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.98.6
>            Reporter: Weichen Ye
>
> I`m working for another issues HBASE-12590 and trying to use the UniformSplit algorithm in RegionSplitter. When the last bytes of start key and end key are adjacent in alphabetical order or ASCII order, the UniformSplit algorithm meet an NPE.
> Like startkey: aaa, endkey :aab
>        startkey:1111 endkey: 1112
> For example, we write this simple test code:
> {code}
> import org.apache.hadoop.hbase.util.RegionSplitter.UniformSplit;
> ......
> byte[] a1 = { 'a', 'a', 'a' };
> byte[] a2 = { 'a', 'a', 'b' };
> UniformSplit us = new UniformSplit();
> byte[] mid = us.split(a1, a2);
> ......
> {code}
> We will get the ERROR:
> {code}
> Exception in thread "main" java.lang.NullPointerException
> 	at org.apache.hadoop.hbase.util.RegionSplitter$UniformSplit.split(RegionSplitter.java:986)
> {code}
> We hope this algorithm should be able to calculate the 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)