From: Sage Weil Date: Thu, 17 Sep 2015 21:47:54 +0000 (-0400) Subject: osd: backoff the max reporting interval, too X-Git-Tag: v10.0.1~26^2~51 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5e10de4cc02e497a92c7359315c30c30bbe2ebc7;p=ceph.git osd: backoff the max reporting interval, too Signed-off-by: Sage Weil --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 9e40a159fa17..5186f70498e2 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -3989,6 +3989,9 @@ void OSD::tick() bool report = false; utime_t now = ceph_clock_now(cct); pg_stat_queue_lock.Lock(); + double backoff = stats_ack_timeout / g_conf->osd_mon_ack_timeout; + double adjusted_min = cct->_conf->osd_mon_report_interval_min * backoff; + double adjusted_max = cct->_conf->osd_mon_report_interval_max * backoff; if (!outstanding_pg_stats.empty() && (now - stats_ack_timeout) > last_pg_stats_ack) { dout(1) << __func__ << " mon hasn't acked PGStats in " @@ -4002,7 +4005,7 @@ void OSD::tick() stats_ack_timeout * g_conf->osd_stats_ack_timeout_factor); outstanding_pg_stats.clear(); } - if (now - last_pg_stats_sent > cct->_conf->osd_mon_report_interval_max) { + if (now - last_pg_stats_sent > adjusted_max) { osd_stat_updated = true; report = true; } else if ((int)outstanding_pg_stats.size() >= @@ -4010,8 +4013,6 @@ void OSD::tick() dout(20) << __func__ << " have max " << outstanding_pg_stats << " stats updates in flight" << dendl; } else { - double backoff = stats_ack_timeout / g_conf->osd_mon_ack_timeout; - double adjusted_min = cct->_conf->osd_mon_report_interval_min * backoff; if (now - last_mon_report > adjusted_min) { dout(20) << __func__ << " stats backoff " << backoff << " adjusted_min " << adjusted_min << " - sending report"