You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Stephen O'Donnell (Jira)" <ji...@apache.org> on 2020/04/08 17:09:00 UTC

[jira] [Resolved] (HDDS-3270) Allow safemode listeners to be notified when some precheck rules pass

     [ https://issues.apache.org/jira/browse/HDDS-3270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stephen O'Donnell resolved HDDS-3270.
-------------------------------------
       Fix Version/s: 0.6.0
    Target Version/s: 0.6.0
          Resolution: Fixed

> Allow safemode listeners to be notified when some precheck rules pass
> ---------------------------------------------------------------------
>
>                 Key: HDDS-3270
>                 URL: https://issues.apache.org/jira/browse/HDDS-3270
>             Project: Hadoop Distributed Data Store
>          Issue Type: Improvement
>          Components: SCM
>    Affects Versions: 0.6.0
>            Reporter: Stephen O'Donnell
>            Assignee: Stephen O'Donnell
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.6.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> As part of the SCM safemode process, there are some rules which must pass before safemode can be exited.
> One of these rules is the number of registered datanodes and another is that at least one pipeline must be created and open.
> Currently, pipeline creation is attempted each time a node registers. As soon as the 3rd node registers, pipelines will be created.
> There are two issue with this:
> 1. With network topology, if the first 3 nodes are all from the same rack, a non-rackaware pipeline will get created.
> 2. With multi-raft, it would be better if more nodes are registered to allow the multiple pipelines per node to be spread across all the available nodes.
> The proposal here, is to introduce a new sub-state into the safemode process, call "preCheckComplete". When adding rules to the Safemode Manager, some rules can be tagged as "preCheck" (eg number of datanodes registered). When all all the pre-check rules have passed a notification will be sent to all safemode listeners:
> {code}
>   safeModeIsOn -> true
>   preCheckComplete -> true
> {code}
> That will allow the listener to take action on this first stage completing. In the case of PipelineManager, it will then allow pipelines to be created.
> After the remaining rules have been passed, safemode will exit as normal, by sending a second event:
> {code}
>   safeModeIsOn -> false
>   preCheckComplete -> true
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-issues-help@hadoop.apache.org