From: Patrick Donnelly Date: Thu, 24 Jan 2019 22:23:08 +0000 (-0800) Subject: mds: limit maximum number of caps held by session X-Git-Tag: v14.1.0~240^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=48ca097a9f537545b4b0c864ebb8c5e81d821098;p=ceph.git mds: limit maximum number of caps held by session This is to prevent unsustainable situations where a client has so many outstanding caps that a linear traversal/operation on the session's caps takes unacceptable amounts of time. Fixes: http://tracker.ceph.com/issues/38022 Signed-off-by: Patrick Donnelly --- diff --git a/PendingReleaseNotes b/PendingReleaseNotes index c9b869a3602..e04ce587931 100644 --- a/PendingReleaseNotes +++ b/PendingReleaseNotes @@ -173,6 +173,12 @@ to not attempt recalling too many caps at once, leading to instability. MDS with a large cache (64GB+) should be more stable. +* MDS now provides a config option "mds_max_caps_per_client" (default: 1M) to + limit the number of caps a client session may hold. Long running client + sessions with a large number of caps have been a source of instability in the + MDS when all of these caps need to be processed during certain session + events. It is recommended to not unnecessarily increase this value. + >=13.1.0 -------- diff --git a/src/common/options.cc b/src/common/options.cc index 090e126fa78..547b8b8757a 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -7629,6 +7629,10 @@ std::vector