[ https://issues.apache.org/jira/browse/HBASE-7506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13550845#comment-13550845 ]
stack commented on HBASE-7506: ------------------------------ Are you going to commit [~zjushch]? You have two +1s. > Judgment of carrying ROOT/META will become wrong when expiring server > --------------------------------------------------------------------- > > Key: HBASE-7506 > URL: https://issues.apache.org/jira/browse/HBASE-7506 > Project: HBase > Issue Type: Bug > Affects Versions: 0.94.3 > Reporter: chunhui shen > Assignee: chunhui shen > Fix For: 0.96.0 > > Attachments: 7506-trunk v1.patch, 7506-trunkv1.patch, > 7506-trunkv2.patch > > > We will check whether server carrying ROOT/META when expiring the server. > See ServerManager#expireServer. > If the dead server carrying META, we assign meta directly in the process of > ServerShutdownHandler. > If the dead server carrying ROOT, we will offline ROOT and then > verifyAndAssignRootWithRetries() > How judgement of carrtying ROOT/META become wrong? > If region is in RIT, and isCarryingRegion() return true after addressing from > zk. > However, once RIT time out(could be caused by this.allRegionServersOffline && > !noRSAvailable, see AssignmentManager#TimeoutMonitor) and we assign it to > otherwhere, this judgement become wrong. > See AssignmentManager#isCarryingRegion for details > With the wrong judgement of carrtying ROOT/META, we would assign ROOT/META > twice. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira