From a8bf00fe209446f958dee82b4566017fd90b4d14 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Fri, 18 Jan 2019 12:43:29 -0800 Subject: [PATCH] Timeout if a leader is not found within 30 seconds --- bench-tps/src/main.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bench-tps/src/main.rs b/bench-tps/src/main.rs index 6827e85a1..3328f9d60 100644 --- a/bench-tps/src/main.rs +++ b/bench-tps/src/main.rs @@ -93,7 +93,13 @@ fn main() { } = cfg; println!("Looking for leader at {:?}", network); - let leader = poll_gossip_for_leader(network, None).expect("unable to find leader on network"); + let leader = poll_gossip_for_leader(network, Some(30)).unwrap_or_else(|err| { + println!( + "Error: unable to find leader on network after 30 seconds: {:?}", + err + ); + exit(1); + }); let exit_signal = Arc::new(AtomicBool::new(false)); let (nodes, leader, gossip_service) = converge(&leader, &exit_signal, num_nodes);