Ensure flows wait for all nodes to close before restarting

Fixes #2067
This commit is contained in:
Nick O'Leary 2019-02-27 20:56:58 +00:00
parent fec52a8151
commit f4f664a4a2
No known key found for this signature in database
GPG Key ID: 4F2157149161A6C9
1 changed files with 2 additions and 2 deletions

View File

@ -388,14 +388,14 @@ function stop(type,diff,muteLog) {
if (activeFlows.hasOwnProperty(id)) { if (activeFlows.hasOwnProperty(id)) {
var flowStateChanged = diff && (diff.added.indexOf(id) !== -1 || diff.removed.indexOf(id) !== -1); var flowStateChanged = diff && (diff.added.indexOf(id) !== -1 || diff.removed.indexOf(id) !== -1);
log.debug("red/nodes/flows.stop : stopping flow : "+id); log.debug("red/nodes/flows.stop : stopping flow : "+id);
promises = promises.concat(activeFlows[id].stop(flowStateChanged?null:stopList,removedList)); promises.push(activeFlows[id].stop(flowStateChanged?null:stopList,removedList));
if (type === "full" || flowStateChanged || diff.removed.indexOf(id)!==-1) { if (type === "full" || flowStateChanged || diff.removed.indexOf(id)!==-1) {
delete activeFlows[id]; delete activeFlows[id];
} }
} }
} }
return Promise.resolve(promises).then(function() { return Promise.all(promises).then(function() {
for (id in activeNodesToFlow) { for (id in activeNodesToFlow) {
if (activeNodesToFlow.hasOwnProperty(id)) { if (activeNodesToFlow.hasOwnProperty(id)) {
if (!activeFlows[activeNodesToFlow[id]]) { if (!activeFlows[activeNodesToFlow[id]]) {