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]
