[ https://issues.apache.org/jira/browse/HBASE-20049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16373054#comment-16373054 ]
Toshihiro Suzuki commented on HBASE-20049: ------------------------------------------ I just attached v2 patch. I changed to remove only region replicas of SPLIT and MERGED regions from in-memory states. > Region replicas of SPLIT and MERGED regions are kept in in-memory states > until restarting master > ------------------------------------------------------------------------------------------------ > > Key: HBASE-20049 > URL: https://issues.apache.org/jira/browse/HBASE-20049 > Project: HBase > Issue Type: Bug > Components: read replicas > Reporter: Toshihiro Suzuki > Assignee: Toshihiro Suzuki > Priority: Major > Attachments: HBASE-20049.master.001.patch, > HBASE-20049.master.002.patch > > > 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. > {code} > create "test", "cf", {REGION_REPLICATION => 2} > {code} > 2. Load data to the table > {code} > (0...2000).each{|i| put "test", "row#{i}", "cf:col", "val"} > {code} > 3. Split the table > {code} > split "test" > {code} > 4. Disable and enable the table > {code} > disable "test" > enable "test" > {code} > After doing those steps, the outdated region replica will be online. -- This message was sent by Atlassian JIRA (v7.6.3#76005)