guihecheng edited a comment on pull request #3190:
URL: https://github.com/apache/ozone/pull/3190#issuecomment-1067533978


   > I think the reason for this exception is "15 < 14 + 2", which means the 
total datanode SCM recognize has decreased from 17 to 15, while excluded node 
hasn't been updated.
   > 
   > I think the check is still needed, and we need to fix the excluded node 
not-updated issue.
   
   Well, updating the `excludedNodes` on the SCM side is another possible 
solution that I've thought about, but I dropped it.
   
   At least for the EC case, an ExcludeList is passed to SCM from the Client, 
and the `excludedNodes` is parsed from that.
   A Client carries an ExcludeList means that, from his side, he definitely 
doesn't want a Pipeline that includes the DNs in the ExcludeList, because he 
had trouble talking to the DNs before. So I think it would be better to honor 
it and keep it untouched from the SCM side.
   
   And for the check itself: `datanodeCount < nodesRequired + 
excludedNodesCount`, at first glance, there is no problem and it offers a 
fail-fast path.
   But the `datanodeCount` is from the SCM view, and the `excludedNodesCount` 
is from the Client view, actually the mathematical relationship does not 
accurately hold, so we have the exception hit due to overlap here.
   
   And for the fail-fast path the check offers, it only takes effect in a 
cluster that is somehow short of resources(number of HEALTHY DNs, enough disk 
spaces).
   IMHO, for such a cluster, we'd better make the best effort to find enough 
resources to feed the request from the Client rather than fail fast.
   
   So at last I decide to remove the check.
   


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