Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
Currently, when regions are split or merged, region replicas of the regions will become CLOSED state but will not be deleted from in-memory states (e.g. AssignmentManager). These region replicas are deleted when restarting master, but I think they should be deleted during splitting and merging regions.
One problem with this is the outdated region replicas can be online. Steps to reproduce are as follows:
1. Create a table with enabling region replication.
create "test", "cf", {REGION_REPLICATION => 2}
2. Load data to the table
(0...2000).each{|i| put "test", "row#{i}", "cf:col", "val"}
3. Split the table
split "test"
4. Disable and enable the table
disable "test" enable "test"
After doing those steps, the outdated region replica will be online.