xBis7 commented on PR #5651:
URL: https://github.com/apache/ozone/pull/5651#issuecomment-1847090958

   > However, what about EC containers? They will have the same problems, and 
there is an EcContainerReplicaCount class too. I see in 
getMinimumRequiredReplicaNum you are checking for EC or Ratis, so you also need 
to check for EC or Ratis and create the correct ReplicaCount object for EC or 
Ratis.
   
   @sodonnel That's a valid point, let me look further into it. The way Recon 
is designed right now, it doesn't check for EC in any place and all the 
calculations are for Ratis. Also, I think there is no under-replication concept 
for EC, right? 
   
   > Another question - what does Recon do to the container replicas it knows 
about when a maintenance node goes offline? Does it purge them from memory, or 
keep them? 
   
   > What does recon do when an IN_SERVICE node goes dead, does it keep the 
replicas in memory marked as dead or does it just remove them like SCM does?
   
   Both scenarios, dead node and a maintenance node going offline, are handled 
in the `DeadNodeHandler` and `ReconDeadNodeHandler` accordingly.
   
   SCM doesn't remove replicas belonging to maintenance nodes, as I see 
[here](https://github.com/apache/ozone/blob/master/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DeadNodeHandler.java#L88).
 Recon doesn't care about maintenance or the node state in general. 
`ReconDeadNodeHandler` triggers a health check which gets the dead node's 
containers from ReconSCM and processes them. If the container is over or under 
replicated, it will be added in the unhealthy container records. If the 
container is marked as DELETED in the SCM, Recon will mark it as DELETED in its 
container map. There are no other actions, therefore the replicas are kept in 
memory.
   
   


-- 
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.

To unsubscribe, e-mail: [email protected]

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