[
https://issues.apache.org/jira/browse/HBASE-7506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13546621#comment-13546621
]
Ted Yu commented on HBASE-7506:
-------------------------------
I think we should keep MetaServerShutdownHandler.
Take a look at HBASE-3809
> 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