You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Duo Zhang (JIRA)" <ji...@apache.org> on 2018/03/13 03:46:00 UTC

[jira] [Created] (HBASE-20182) Can not locate region after split and merge

Duo Zhang created HBASE-20182:
---------------------------------

             Summary: Can not locate region after split and merge
                 Key: HBASE-20182
                 URL: https://issues.apache.org/jira/browse/HBASE-20182
             Project: HBase
          Issue Type: Bug
          Components: Region Assignment
            Reporter: Duo Zhang
             Fix For: 2.0.0


When implementing serial replication feature in HBASE-20046, I found that when splitting a region, we will not remove the parent region, instead we will mark it offline.

And when locating a region, we will only scan one row so if we locate to the offlined region then we are dead.

This will not happen for splitting, since one of the new daughter regions have the same start row with the parent region, and the timestamp is greater so when doing reverse scan we will always hit the daughter first.

But if we also consider merge then bad things happen. Consider we have two regions A and B, we split B to C and D, and then merge A and C to E, then ideally the regions should be E and D, but actually the regions in meta will be E, B and D, and they all have different start rows. If you use a row within the range of old region C, then we will always locate to B and throw exception.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)