提交 5a95baff 编写于 作者: R Ryan Campbell

Don't provision more slaves when some are coming online.

The needsSomeWhenNoneAtAll ought to take into account nodes which are coming online, especially when a cloud returns slaves which are not connected. This is fixed by adding the idleSnapshot, which takes connecting slaves into account (totalSnapshot does not).
上级 65339ffe
......@@ -193,7 +193,7 @@ public class NodeProvisioner {
int idleSnapshot = stat.computeIdleExecutors();
int totalSnapshot = stat.computeTotalExecutors();
boolean needSomeWhenNoneAtAll = ((totalSnapshot + plannedCapacitySnapshot) == 0) && (stat.computeQueueLength() > 0);
boolean needSomeWhenNoneAtAll = ((idleSnapshot + totalSnapshot + plannedCapacitySnapshot) == 0) && (stat.computeQueueLength() > 0);
float idle = Math.max(stat.getLatestIdleExecutors(TIME_SCALE), idleSnapshot);
if(idle<MARGIN || needSomeWhenNoneAtAll) {
// make sure the system is fully utilized before attempting any new launch.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册