]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: mds_oft_prefetch_dirfrags default to false 45016/head
authorDan van der Ster <daniel.vanderster@cern.ch>
Wed, 19 Jan 2022 14:17:15 +0000 (15:17 +0100)
committerVicente Cheng <freeze.bilsted@gmail.com>
Mon, 14 Feb 2022 09:23:32 +0000 (09:23 +0000)
commit988bc127e3818a8c74f8df57f7c6ba005dadb6bc
treea5df70b6f791b8926babc78229bc8e91d95e0222
parent45c1d15e01d9ebcfec68908acbf6a877f3e43fb7
mds: mds_oft_prefetch_dirfrags default to false

The oft dirfrag prefetch is unpredictable and dangerous because it can
delay rejoin by several minutes and balloon memory usage well beyond the
mds_cache_memory_limit. In the worst cases this can cause an OOM loop if
the memory required for prefetch exceeds the physical memory.

The PR which introduced mds_oft_prefetch_dirfrags also optimized the
client behaviour to eliminate the bad effects of disabling dirfrags
prefetch. And commit d3946e36f89203bd5c7f51c3a73d1a17a4d19863 has been
testing setting this option to false.

We therefore should default the option to false. Operators can still
manually enable it if they know it can speedup their use-cases.

Related-to: https://tracker.ceph.com/issues/45835
Fixes: https://tracker.ceph.com/issues/53952
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
(cherry picked from commit e19ef199c94406afd220e574e24d52c03d9b67a3)

Conflicts:
src/common/options/mds.yaml.in
  - mds.yaml.in is not introduced to pacific
            make default `false` in options.cc
src/common/options.cc