mirror of
https://github.com/ceph/ceph
synced 2024-12-29 15:03:33 +00:00
Merge pull request #18822 from jcsp/wip-22082
mon: clean up cluster logging on mon events Reviewed-by: Sage Weil <sage@redhat.com>
This commit is contained in:
commit
e3e39fac96
@ -1850,7 +1850,7 @@ void Monitor::start_election()
|
||||
logger->inc(l_mon_num_elections);
|
||||
logger->inc(l_mon_election_call);
|
||||
|
||||
clog->info() << "mon." << name << " calling new monitor election";
|
||||
clog->info() << "mon." << name << " calling monitor election";
|
||||
elector.call_election();
|
||||
}
|
||||
|
||||
@ -1918,8 +1918,8 @@ void Monitor::win_election(epoch_t epoch, set<int>& active, uint64_t features,
|
||||
pending_metadata = metadata;
|
||||
outside_quorum.clear();
|
||||
|
||||
clog->info() << "mon." << name << "@" << rank
|
||||
<< " won leader election with quorum " << quorum;
|
||||
clog->info() << "mon." << name << " is new leader, mons " << get_quorum_names()
|
||||
<< " in quorum (ranks " << quorum << ")";
|
||||
|
||||
set_leader_commands(get_local_commands(mon_features));
|
||||
|
||||
@ -1960,7 +1960,25 @@ void Monitor::win_election(epoch_t epoch, set<int>& active, uint64_t features,
|
||||
monmap->get_epoch() > 0) {
|
||||
timecheck_start();
|
||||
health_tick_start();
|
||||
do_health_to_clog_interval();
|
||||
|
||||
// Freshen the health status before doing health_to_clog in case
|
||||
// our just-completed election changed the health
|
||||
healthmon()->wait_for_active_ctx(new FunctionContext([this](int r){
|
||||
dout(20) << "healthmon now active" << dendl;
|
||||
healthmon()->tick();
|
||||
if (healthmon()->is_proposing()) {
|
||||
dout(20) << __func__ << " healthmon proposing, waiting" << dendl;
|
||||
healthmon()->wait_for_finished_proposal(nullptr, new C_MonContext(this,
|
||||
[this](int r){
|
||||
assert(lock.is_locked_by_me());
|
||||
do_health_to_clog_interval();
|
||||
}));
|
||||
|
||||
} else {
|
||||
do_health_to_clog_interval();
|
||||
}
|
||||
}));
|
||||
|
||||
scrub_event_start();
|
||||
}
|
||||
}
|
||||
@ -2287,7 +2305,6 @@ void Monitor::health_tick_start()
|
||||
new C_MonContext(this, [this](int r) {
|
||||
if (r < 0)
|
||||
return;
|
||||
do_health_to_clog();
|
||||
health_tick_start();
|
||||
}));
|
||||
}
|
||||
@ -4611,7 +4628,9 @@ void Monitor::handle_timecheck_leader(MonOpRequestRef op)
|
||||
|
||||
ostringstream ss;
|
||||
health_status_t status = timecheck_status(ss, skew_bound, latency);
|
||||
clog->health(status) << other << " " << ss.str();
|
||||
if (status != HEALTH_OK) {
|
||||
clog->health(status) << other << " " << ss.str();
|
||||
}
|
||||
|
||||
dout(10) << __func__ << " from " << other << " ts " << m->timestamp
|
||||
<< " delta " << delta << " skew_bound " << skew_bound
|
||||
|
@ -635,8 +635,8 @@ public:
|
||||
return (class MgrStatMonitor*) paxos_service[PAXOS_MGRSTAT];
|
||||
}
|
||||
|
||||
class MgrStatMonitor *healthmon() {
|
||||
return (class MgrStatMonitor*) paxos_service[PAXOS_MGRSTAT];
|
||||
class HealthMonitor *healthmon() {
|
||||
return (class HealthMonitor*) paxos_service[PAXOS_HEALTH];
|
||||
}
|
||||
|
||||
friend class Paxos;
|
||||
|
@ -188,8 +188,9 @@ void MonmapMonitor::on_active()
|
||||
mon->has_ever_joined = true;
|
||||
}
|
||||
|
||||
if (mon->is_leader())
|
||||
mon->clog->info() << "monmap " << *mon->monmap;
|
||||
if (mon->is_leader()) {
|
||||
mon->clog->debug() << "monmap " << *mon->monmap;
|
||||
}
|
||||
|
||||
apply_mon_features(mon->get_quorum_mon_features());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user