sodonnel commented on pull request #881:
URL: https://github.com/apache/hadoop-ozone/pull/881#issuecomment-622351331


   @fapifta, Thanks for looking at this.
   
   As things stand prior to this change, the job of the placement policy is to 
return a list of nodes to create replicas on.
   
   The job of the replication manager is to check the the replication, that 
replicas are all healthy and now placement, is met, and if it is not ask the 
policy for new nodes to schedule replicas on. In the future, it will most 
likely need to deal with maintenance mode replicas and decommission.
   
   Similarly, the role of pipeline manager is to ask the policy for nodes to 
establish pipelines on and the pipeline manager actually creates them.
   
   In that respect the placement policy is simply a selector of nodes and I 
don't think it makes sense to give it an additional responsibility to actually 
destroy (or create) replicas.
   
   I do think I have made some unfortunate variable naming choices. As you said 
in your second comment, RM is not really rack aware. It is "placement aware" 
via the ContainerPlacementStatus.
   
   There may be some merit to extending the placement policy to decide which 
replicas to remove, but then it will:
   
   * Need to consider the health of them (like RM does now)
   * Decommission related status in the future
   * The logic doesn't really apply to Pipelines, only for closed containers, 
so pushing this logic into the common parent may not make sense, but it would 
need to go there due to the inheritance chain.
   
   I think it would be good to clean up the naming to remove "rack" and use 
something more general to make it clear the rack logic is not baked into RM.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to