// (caps go stale, lease die)
double queue_max_age = mds->get_dispatch_queue_max_age(ceph_clock_now());
double cutoff = queue_max_age + mds->mdsmap->get_session_timeout();
- bool defer_session_stale = g_conf().get_val<bool>("mds_defer_session_stale");
+
+ // don't kick clients if we've been laggy
+ if (last_cleared_laggy < cutoff) {
+ dout(10) << " last cleared laggy " << last_cleared_laggy << "s ago (< cutoff " << cutoff
+ << "), not marking any client stale" << dendl;
+ return;
+ }
std::vector<Session*> to_evict;
+ bool defer_session_stale = g_conf().get_val<bool>("mds_defer_session_stale");
const auto sessions_p1 = mds->sessionmap.by_state.find(Session::STATE_OPEN);
if (sessions_p1 != mds->sessionmap.by_state.end() && !sessions_p1->second->empty()) {
std::vector<Session*> new_stale;
// autoclose
cutoff = queue_max_age + mds->mdsmap->get_session_autoclose();
- // don't kick clients if we've been laggy
- if (last_cleared_laggy < cutoff) {
- dout(10) << " last cleared laggy " << last_cleared_laggy << "s ago (< cutoff " << cutoff
- << "), not kicking any clients to be safe" << dendl;
- return;
- }
-
// Collect a list of sessions exceeding the autoclose threshold
const auto sessions_p2 = mds->sessionmap.by_state.find(Session::STATE_STALE);
if (sessions_p2 != mds->sessionmap.by_state.end() && !sessions_p2->second->empty()) {