Project

General

Profile

Actions

Bug #37540

closed

luminous: MDSMap session timeout cannot be modified

Added by Patrick Donnelly over 5 years ago. Updated over 5 years ago.

Status:
Resolved
Priority:
Urgent
Category:
Introspection/Control
Target version:
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

This was fixed in https://github.com/ceph/ceph/pull/19440/commits/67ca6cd229a595d54ccea18b5452f2574ede9657

The fix was not backported but should have been. There is no way to update the MDSMap session_timeout field and the config option (mds_session_timeout) is not applied consistently. see:

pdonnell@icewind ~/ceph$ git grep mds_session_timeout src/
src/common/legacy_config_opts.h:OPTION(mds_session_timeout, OPT_FLOAT)    // cap bits and leases time out if client unresponsive or not returning its caps
src/common/legacy_config_opts.h:              //  make it (mds_session_timeout - mds_beacon_grace)
src/common/options.cc:    Option("mds_session_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED)
src/mds/FSMap.cc:  fs->mds_map.session_timeout = g_conf->mds_session_timeout;
src/mds/FSMap.cc:  new_fs->mds_map.session_timeout = g_conf->mds_session_timeout;
src/mds/Locker.cc: * mds_session_timeout threshold.
src/mds/Locker.cc:    if (age <= g_conf->mds_session_timeout) {
src/mds/Locker.cc:      dout(20) << __func__ << " age below timeout " << g_conf->mds_session_timeout << dendl;
src/mds/Locker.cc:    if (age > g_conf->mds_session_timeout * (1 << cap->get_num_revoke_warnings())) {
pdonnell@icewind ~/ceph$ git grep get_session_timeout src/
src/client/Client.cc:   session->last_cap_renew_request + mdsmap->get_session_timeout();
src/client/Client.cc:    if (el > mdsmap->get_session_timeout() / 3.0)
src/mds/Beacon.cc:                                           mds->mdsmap->get_session_timeout());
src/mds/MDSMap.h:  utime_t get_session_timeout() const {
src/mds/Server.cc:  double cutoff = queue_max_age + mds->mdsmap->get_session_timeout();
Actions #1

Updated by Patrick Donnelly over 5 years ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 25431
  • Affected Versions v12.2.10 added
Actions #2

Updated by Patrick Donnelly over 5 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF