From ba33c9e18e97cbb9b2c6bcc5c8a2856d9c2b3781 Mon Sep 17 00:00:00 2001 From: Tyera Eulberg Date: Thu, 18 Mar 2021 02:00:02 -0600 Subject: [PATCH] Avoid panic when validator doesn't have performance samples (#15976) --- cli/src/cluster_query.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cli/src/cluster_query.rs b/cli/src/cluster_query.rs index d725769bbb..e02b244625 100644 --- a/cli/src/cluster_query.rs +++ b/cli/src/cluster_query.rs @@ -996,11 +996,12 @@ pub fn process_get_epoch_info(rpc_client: &RpcClient, config: &CliConfig) -> Pro let epoch_info = rpc_client.get_epoch_info()?; let average_slot_time_ms = rpc_client .get_recent_performance_samples(Some(60)) - .map(|samples| { + .ok() + .and_then(|samples| { let (slots, secs) = samples.iter().fold((0, 0), |(slots, secs), sample| { (slots + sample.num_slots, secs + sample.sample_period_secs) }); - (secs as u64 * 1000) / slots + (secs as u64).saturating_mul(1000).checked_div(slots) }) .unwrap_or(clock::DEFAULT_MS_PER_SLOT); let epoch_info = CliEpochInfo {