From 6bdfe7f8954177240894945dee86926eb3df08ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Stuczy=C5=84ski?= Date: Thu, 26 Aug 2021 11:21:01 +0100 Subject: [PATCH] Correctly bounding nominator of uptime calculation (#752) --- validator-api/src/node_status_api/utils.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/validator-api/src/node_status_api/utils.rs b/validator-api/src/node_status_api/utils.rs index 3d4405bfca..08cff22f95 100644 --- a/validator-api/src/node_status_api/utils.rs +++ b/validator-api/src/node_status_api/utils.rs @@ -6,7 +6,7 @@ use crate::node_status_api::{FIFTEEN_MINUTES, ONE_HOUR}; use crate::storage::models::NodeStatus; use log::warn; use sqlx::types::time::OffsetDateTime; -use std::cmp::max; +use std::cmp::min; // A temporary helper struct used to produce reports for active nodes. pub(crate) struct ActiveNodeDayStatuses { @@ -77,8 +77,8 @@ impl NodeUptimes { ipv6_hour_up, last_hour_test_runs, ); - ipv4_hour_up = max(ipv4_hour_up, last_hour_test_runs); - ipv6_hour_up = max(ipv6_hour_up, last_hour_test_runs); + ipv4_hour_up = min(ipv4_hour_up, last_hour_test_runs); + ipv6_hour_up = min(ipv6_hour_up, last_hour_test_runs); } if ipv4_day_up > last_day_test_runs || ipv6_day_up > last_day_test_runs { @@ -88,8 +88,8 @@ impl NodeUptimes { ipv6_day_up, last_day_test_runs, ); - ipv4_day_up = max(ipv4_day_up, last_day_test_runs); - ipv6_day_up = max(ipv6_day_up, last_day_test_runs); + ipv4_day_up = min(ipv4_day_up, last_day_test_runs); + ipv6_day_up = min(ipv6_day_up, last_day_test_runs); } // the unwraps in Uptime::from_ratio are fine because it's impossible for us to have more "up" results