Timeout if a leader is not found within 30 seconds

This commit is contained in:
Michael Vines 2019-01-18 12:43:29 -08:00 committed by Grimes
parent 6282c53fe5
commit a8bf00fe20
1 changed files with 7 additions and 1 deletions

View File

@ -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);