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

Bryan Beaudreault commented on HBASE-26996:
-------------------------------------------

An additional related bug here is if you have a table where the first region 
end key is {{{}\x01{}}}, the split policy will try to split it on {{{}\x00{}}}. 
A region with {{startKey=[]}} and {{endKey=\x00}} is basically empty so the 
region never gets request/data. I'm guessing the split policy tries to split on 
the midpoint between empty and {{{}\x01{}}}, which is not precisely {{\x00}} 
but then it gets truncated due to how the RegionSplitRestrictions work.

> SteppingSplitPolicy and RegionSplitRestriction can result in illegal split 
> noise
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-26996
>                 URL: https://issues.apache.org/jira/browse/HBASE-26996
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Bryan Beaudreault
>            Priority: Minor
>
> I set this to minor because I don't think it causes any real harm aside from 
> log noise. But we should probably fix it up.
> Create a table with splits 0, 1, 2, 3, 4, 5. Then set 
> {{hbase.regionserver.region.split_restriction.type}} to {{KeyPrefix}} and 
> {{hbase.regionserver.region.split_restriction.prefix_length}} to 1.
> If you do enough writes to these regions, the SteppingSplitPolicy will try to 
> split them. So it will try to split, for example, 1 in half. This is possible 
> without KeyPrefix restriction, but with the restriction the split point will 
> be truncated to value 1. The split will be submitted to the master with 
> splitRow = 1 and that will fail because "Split row is equal to start key: 1"
> Setting up splits in this way, with the restriction, is useful for when 
> you're adding a salt prefix to your rowkeys (i.e to better distribute 
> timestamp rowkeys). 



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to