Browse Source

Make initialisation message error more straightforward

tags/v0.3.1-rc5
haixuanTao 2 years ago
parent
commit
ab5d918ffd
1 changed files with 15 additions and 3 deletions
  1. +15
    -3
      binaries/daemon/src/pending.rs

+ 15
- 3
binaries/daemon/src/pending.rs View File

@@ -1,4 +1,7 @@
use std::collections::{HashMap, HashSet};
use std::{
collections::{HashMap, HashSet},
intrinsics::mir::Len,
};

use dora_core::{
config::NodeId,
@@ -6,7 +9,7 @@ use dora_core::{
daemon_messages::{DaemonReply, DataflowId, Timestamped},
message::uhlc::{Timestamp, HLC},
};
use eyre::{bail, Context};
use eyre::{bail, Context, ContextCompat};
use tokio::{net::TcpStream, sync::oneshot};

use crate::tcp_utils::tcp_send;
@@ -128,11 +131,20 @@ impl PendingNodes {
None => Ok(()),
}
} else {
let node_id_message = if self.exited_before_subscribe.len() == 1 {
self.exited_before_subscribe
.iter()
.next()
.map(|node_id| node_id.to_string())
.unwrap_or("<node_id>".to_string())
} else {
"<node_id>".to_string()
};
Err(format!(
"Some nodes exited before subscribing to dora: {:?}\n\n\
This is typically happens when an initialization error occurs
in the node or operator. To check the output of the failed
nodes, run `dora logs {} <node_id>`.",
nodes, run `dora logs {} {node_id_message}`.",
self.exited_before_subscribe, self.dataflow_id
))
};


Loading…
Cancel
Save