From c9e4396c63695e798b0f5783d73a52d8c090a00d Mon Sep 17 00:00:00 2001 From: Yan Jun Date: Wed, 8 Aug 2018 14:35:38 +0800 Subject: [PATCH] mgr: fix to apply changed mon_stat_smooth_intervals While using config set or injectargs command to decrease mon_stat_smooth_intervals, it didn't apply the new value. this change fix it. Signed-off-by: Yan Jun --- src/mon/PGMap.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mon/PGMap.cc b/src/mon/PGMap.cc index 1c622625eb104..0c117e002db94 100644 --- a/src/mon/PGMap.cc +++ b/src/mon/PGMap.cc @@ -1120,7 +1120,7 @@ void PGMap::apply_incremental(CephContext *cct, const Incremental& inc) pg_sum_delta.stats.add(d.stats); auto smooth_intervals = cct ? cct->_conf.get_val("mon_stat_smooth_intervals") : 1; - if (pg_sum_deltas.size() > smooth_intervals) { + while (pg_sum_deltas.size() > smooth_intervals) { pg_sum_delta.stats.sub(pg_sum_deltas.front().first.stats); stamp_delta -= pg_sum_deltas.front().second; pg_sum_deltas.pop_front(); @@ -1962,7 +1962,7 @@ void PGMap::update_delta( result_pool_delta->stats.add(d.stats); } size_t s = cct ? cct->_conf.get_val("mon_stat_smooth_intervals") : 1; - if (delta_avg_list->size() > s) { + while (delta_avg_list->size() > s) { result_pool_delta->stats.sub(delta_avg_list->front().first.stats); *result_ts_delta -= delta_avg_list->front().second; delta_avg_list->pop_front(); -- 2.39.5