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]
