OPTION(osd_heartbeat_min_healthy_ratio, OPT_FLOAT, .33)
OPTION(osd_mon_heartbeat_interval, OPT_INT, 30) // (seconds) how often to ping monitor if no peers
-OPTION(osd_mon_report_interval_max, OPT_INT, 120)
+OPTION(osd_mon_report_interval_max, OPT_INT, 600)
OPTION(osd_mon_report_interval_min, OPT_INT, 5) // pg stats, failures, up_thru, boot.
OPTION(osd_mon_report_max_in_flight, OPT_INT, 2) // max updates in flight
OPTION(osd_pg_stat_report_interval_max, OPT_INT, 500) // report pg stats for any given pg at least this often
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;
+ // note: we shouldn't adjust max because it must remain < the
+ // mon's mon_osd_report_timeout (which defaults to 1.5x our
+ // value).
+ double max = cct->_conf->osd_mon_report_interval_max;
if (!outstanding_pg_stats.empty() &&
(now - stats_ack_timeout) > last_pg_stats_ack) {
dout(1) << __func__ << " mon hasn't acked PGStats in "
stats_ack_timeout * g_conf->osd_stats_ack_timeout_factor);
outstanding_pg_stats.clear();
}
- if (now - last_pg_stats_sent > adjusted_max) {
+ if (now - last_pg_stats_sent > max) {
osd_stat_updated = true;
report = true;
} else if ((int)outstanding_pg_stats.size() >=