You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Wellington Chevreuil (Jira)" <ji...@apache.org> on 2019/12/26 20:36:00 UTC

[jira] [Created] (HBASE-23620) KeyPrefixRegionSplitPolicy may cause split to fail when specified prefix length is short enough that resulting split point ends up with same value of the parent start key.

Wellington Chevreuil created HBASE-23620:
--------------------------------------------

             Summary: KeyPrefixRegionSplitPolicy may cause split to fail when specified prefix length is short enough that resulting split point ends up with same value of the parent start key.
                 Key: HBASE-23620
                 URL: https://issues.apache.org/jira/browse/HBASE-23620
             Project: HBase
          Issue Type: Bug
            Reporter: Wellington Chevreuil
            Assignee: Wellington Chevreuil


This was found by [~rmaruthiyodan] while analysing a problem reported by one of our customers. In this specific case, customer application was defined a prefix length of four, and row key value range was such that the four bytes prefix was too short to fit in one single region, causing splits to fail. Quoting [~rmaruthiyodan] findings:

{noformat}
2019-12-18 00:25:38,469 INFO [regionserver/regionserver1:17020-splits-1576627813051] regionserver.HRegionServer: TRANSITION FAILED server {
host_name: "regionserver1.customer.com"
port: 17020
start_code: 1576627748865
}
transition {
transition_code: READY_TO_SPLIT
region_info {
region_id: 1560309299563
table_name

{ namespace: "default" qualifier: "mycustomertable" }
start_key: "abcd"
end_key: "i"
offline: false
split: false
replica_id: 0
}
region_info {
region_id: 1576628738437
table_name

{ namespace: "default" qualifier: "mycustomertable" }
start_key: "abcd"
end_key: "abcd"
offline: false
split: false
replica_id: 0
}
region_info {
region_id: 1576628738437
table_name

{ namespace: "default" qualifier: "mycustomertable" }
start_key: "abcd"
end_key: "i"
offline: false
split: false
replica_id: 0
}
}
: Failed transition Split row is equal to startkey: abcd

2019-12-18 00:25:38,469 ERROR [regionserver/regionserver1:17020-splits-1576627813051] regionserver.SplitRequest: Unable to ask master to split mycustomertable,abcd,1560309299563.ff6bd99e3a9a6927c6858e3c520b0367.
{noformat}

I'm proposing an initial PR that double checks if the resulting split point sub array is same as the start key, then increment the length of the sub array.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)