mds: reset MDSRank heartbeat timeout even when MDS is laggy

Fixes: #13067
Signed-off-by: Yan, Zheng <zyan@redhat.com>
This commit is contained in:
Yan, Zheng 2015-09-15 16:31:23 +08:00
parent 27d1e4d41e
commit 4e8242a049
2 changed files with 8 additions and 8 deletions

View File

@ -517,18 +517,10 @@ void MDSDaemon::tick()
// reschedule
reset_tick();
if (beacon.is_laggy()) {
dout(5) << "tick bailing out since we seem laggy" << dendl;
return;
}
// Call through to subsystems' tick functions
if (mds_rank) {
mds_rank->tick();
}
// Expose ourselves to Beacon to update health indicators
beacon.notify_health(mds_rank);
}
/* This function DOES put the passed message before returning*/

View File

@ -150,6 +150,11 @@ void MDSRankDispatcher::tick()
{
heartbeat_reset();
if (beacon.is_laggy()) {
dout(5) << "tick bailing out since we seem laggy" << dendl;
return;
}
check_ops_in_flight();
// Wake up thread in case we use to be laggy and have waiting_for_nolaggy
@ -194,6 +199,9 @@ void MDSRankDispatcher::tick()
if (snapserver)
snapserver->check_osd_map(false);
}
// Expose ourselves to Beacon to update health indicators
beacon.notify_health(this);
}
void MDSRankDispatcher::shutdown()