[
https://issues.apache.org/jira/browse/HBASE-12716?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ted Yu updated HBASE-12716:
---------------------------
Fix Version/s: 1.0.0
Integrated to 1.0 branch as well - otherwise this would be a regression from
0.98.10
> 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: 2.0.0, 0.98.6
> Reporter: Weichen Ye
> Assignee: Weichen Ye
> Fix For: 1.0.0, 2.0.0, 0.98.10, 1.1.0
>
> Attachments: HBASE-12716-v2.patch, HBASE-12716.patch
>
>
> Welcome to the review board: https://reviews.apache.org/r/29424/diff/#
> 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"
> review board:https://reviews.apache.org/r/29424/
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)