[
https://issues.apache.org/jira/browse/HBASE-8251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13621689#comment-13621689
]
chunhui shen commented on HBASE-8251:
-------------------------------------
[~jeason]
Good catch, but move enabling SSH before assign META would cause another META
data loss case:
1. Assign ROOT.
2. Block until ROOT be opened.
3. Enable SSH
4. Assign META.
5. Block until META be opened.
if META RS is killed between step 3 and step 4, SSH will start handling it
(including split logs),
step 4 will assign the META, it means META region would loss the data from the
hlog.
In order to fix related cases, two other things should also be noticed:
1.The concurrency of SSH#process and HMaster#splitLogAndExpireIfOnline
2.Before completing assignRootAndMeta, A dead META RS will be handled by
ServerShutdownHandler, not MetaServerShutdownHandler, see
AssignmentManager#isCarryingMeta
Since we have dropped ROOT in trunk, I think there is no related trouble in
trunk.
IMHO, aborting master may be a compromise choice if encounter this case.
> enable SSH before assign META on Master startup
> -----------------------------------------------
>
> Key: HBASE-8251
> URL: https://issues.apache.org/jira/browse/HBASE-8251
> Project: HBase
> Issue Type: Bug
> Components: master, Region Assignment
> Affects Versions: 0.94.6
> Reporter: Jieshan Bean
> Assignee: Jieshan Bean
> Attachments: HBASE-8251-94.patch
>
>
> I think HBASE-5918 could not fix this issue. In HMaster#assignRootAndMeta:
> 1. Assign ROOT.
> 2. Block until ROOT be opened.
> 3. Assign META.
> 4. Block until META be opened.
> SSH is enabled after step 4. So if the RS who host ROOT dies before step 4,
> master will be blocked.
--
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