[ https://issues.apache.org/jira/browse/HBASE-7506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13547561#comment-13547561 ]
chunhui shen commented on HBASE-7506: ------------------------------------- bq.That means we should not verify any more, right? We should also verify for better, see HBASE-7504 I think we could remove MetaServerShutdownHandler class, if we pass the carryingRoot,carryingMeta to ServerShutdownHandler. Like the following {code} ServerShutdownHandler(final Server server, final MasterServices services, final DeadServer deadServers, final ServerName serverName, final boolean shouldSplitHlog,final boolean carryingRoot, final boolean carryingMeta){ super(server, (carryingRoot||carryingMeta)?EventType.M_META_SERVER_SHUTDOWN:EventType.M_SERVER_SHUTDOWN); {code} > 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 > > > 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