Browse Source

Don't finish dataflow while there are still pending nodes

tags/v0.3.12-rc0
Philipp Oppermann 9 months ago
parent
commit
4e908d1709
Failed to extract signature
2 changed files with 9 additions and 4 deletions
  1. +5
    -4
      binaries/daemon/src/lib.rs
  2. +4
    -0
      binaries/daemon/src/pending.rs

+ 5
- 4
binaries/daemon/src/lib.rs View File

@@ -1377,10 +1377,11 @@ impl Daemon {
if let Some(mut pid) = dataflow.running_nodes.remove(node_id).and_then(|n| n.pid) {
pid.mark_as_stopped()
}
if dataflow
.running_nodes
.iter()
.all(|(_id, n)| n.node_config.dynamic)
if !dataflow.pending_nodes.local_nodes_pending()
&& dataflow
.running_nodes
.iter()
.all(|(_id, n)| n.node_config.dynamic)
{
let result = DataflowDaemonResult {
timestamp: self.clock.new_timestamp(),


+ 4
- 0
binaries/daemon/src/pending.rs View File

@@ -59,6 +59,10 @@ impl PendingNodes {
self.external_nodes = value;
}

pub fn local_nodes_pending(&self) -> bool {
!self.local_nodes.is_empty()
}

pub async fn handle_node_subscription(
&mut self,
node_id: NodeId,


Loading…
Cancel
Save