[
https://issues.apache.org/jira/browse/HBASE-21522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16703665#comment-16703665
]
Sergey Shelukhin commented on HBASE-21522:
------------------------------------------
Meta loaded event is set at the end of loadMeta, in joinCluster, that is in
turn called in finishActiveMasterInitialization before assigning meta replicas.
So, there's a (significant) window where a region server report will go into
else path (i.e. not "else if !isMetaLoaded()") and trigger this condition.
> meta replicas appear to cause master restart to kill regionservers
> ------------------------------------------------------------------
>
> Key: HBASE-21522
> URL: https://issues.apache.org/jira/browse/HBASE-21522
> Project: HBase
> Issue Type: Bug
> Affects Versions: 3.0.0
> Reporter: Sergey Shelukhin
> Priority: Major
>
> On master restart, AM.start adds FIRST_META_REGIONINFO to regionStates; that
> has replica ID of 0. Before the meta is loaded,
> AssignmentManager.checkOnlineRegionsReportForMeta is called for RS reports,
> and that also only checks for 0th replica of meta and loads it once
> discovered.
> Once the meta is loaded, RS reports are processed normally; however nobody
> appears to add meta replicas to regionStates.
> So, when an RS hosting one reports in, it gets killed:
> {noformat}
> ***** ABORTING region server <some server 1>:
> org.apache.hadoop.hbase.YouAreDeadException: Not online: hbase:meta,,1_0001
> ***** ABORTING region server <some server 2>:
> org.apache.hadoop.hbase.YouAreDeadException: Not online: hbase:meta,,1_0002
> {noformat}
> This exception is thrown when regionStates has no record for the region.
> RS in question shut down in an orderly manner and they do have the
> corresponding regions, that master then assigns to someone else in a few
> minutes.
> Still, this seems less than ideal.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)