ceph/qa/tasks
Kotresh HR c0de657d3f mds: throttle cap acquisition via readdir
A trivial "find" command on a large directory hierarchy will cause the
client to receive caps significantly faster than it will release. The
MDS will try to have the client reduce its caps below the
mds_max_caps_per_client limit but the recall throttles prevent it from
catching up to the pace of acquisition. The solution is to throttle
readdir from client. This patch does the same.

The readdir is throttled on the condition that the number of caps
acquired is greater than certain percentage of mds_max_caps_per_client
(default is 10%) and cap acquisition via readdir is certain percentage
of mds_max_caps_per_client (the default is 50%). When the above
condition is met, the readdir request is retried after
'mds_cap_acquisition_throttle_retry_request_timeout' (default is 0.5)
seconds.

Fixes: https://tracker.ceph.com/issues/47307
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2020-10-22 18:56:43 +05:30
..
cephadm_cases mgr/orchestrator: add test command testcase for "device ls" 2020-09-03 14:53:22 +12:00
cephfs mds: throttle cap acquisition via readdir 2020-10-22 18:56:43 +05:30
mgr mgr/dashboard: support Orchestrator and user-defined Ganesha clusters 2020-10-19 19:11:14 +08:00
tests qa/tasks: drop python2 support from rgw related tests 2020-07-22 11:55:49 +08:00
util qa/tasks: drop python2 support from rgw related tests 2020-07-22 11:55:49 +08:00
__init__.py
admin_socket.py qa/tasks/admin_socket: get rid of cStringIO for py3 2020-03-04 13:09:17 +08:00
autotest.py qa/tasks/autotest: use remote.write_file 2020-09-04 00:02:15 +02:00
aver.py
barbican.py qa/tasks/barbican: drop six dependency 2020-07-05 10:58:28 +08:00
blktrace.py
boto.cfg.template
cbt.py qa/tasks/cbt: user remote.write_file 2020-09-04 00:02:15 +02:00
ceph_client.py
ceph_deploy.py qa/tasks/ceph_deploy: use remote.read_file instead of misc.get_file 2020-09-04 00:02:15 +02:00
ceph_fuse.py qa/cephfs: allow reusing mount objects and add remount method 2020-09-10 17:10:51 +05:30
ceph_manager.py common: remove log_early configuration option 2020-10-19 14:30:28 +08:00
ceph_objectstore_tool.py qa/tasks/ceph_objectstore_tool: use remote.write_file 2020-09-04 00:02:15 +02:00
ceph_test_case.py qa/mgr: Remove _wait_for_expected_get_result 2020-10-08 15:58:06 +00:00
ceph.conf.template mon/OSDMonitor: add flag --yes-i-really-mean-it for setting pool size 1 2020-03-09 23:27:36 +05:30
ceph.py qa: fix proc exit status check 2020-09-28 11:03:21 -07:00
cephadm.conf
cephadm.py qa/cephadm: Also fetch iscsi logs 2020-09-11 14:17:09 +02:00
cephfs_test_runner.py
cephfs_upgrade_snap.py
check_counter.py qa/tasks: use next(iter(..)) for accessing first element in a view 2020-04-07 20:33:47 +08:00
cifs_mount.py
cram.py qa/tasks: add a 'parallel' option support for the cram task 2020-10-12 21:46:34 +08:00
create_verify_lfn_objects.py
daemonwatchdog.py qa/tasks/daemonwatchdog: py3 compat 2020-03-04 13:09:16 +08:00
devstack.py qa/tasks/devstack: use remote.read_file instead of misc.get_file 2020-09-04 00:02:16 +02:00
die_on_err.py qa: import with full path 2020-03-24 18:27:55 +08:00
divergent_priors2.py qa: import with full path 2020-03-24 18:27:55 +08:00
divergent_priors.py qa: import with full path 2020-03-24 18:27:55 +08:00
dnsmasq.py qa/tasks/dnsmasq: use remote.write_file 2020-09-04 00:02:15 +02:00
dump_stuck.py qa: import with full path 2020-03-24 18:27:55 +08:00
ec_lost_unfound.py test: Fix typos in descriptions 2020-09-14 13:06:29 -07:00
exec_on_cleanup.py
filestore_idempotent.py qa/tasks: use next(iter(..)) for accessing first element in a view 2020-04-07 20:33:47 +08:00
fs.py blacklist -> blocklist 2020-08-24 19:53:08 +00:00
immutable_object_cache_thrash.py librbd/image: fix immutable object cache read failed bug when daemon down 2020-07-01 14:19:59 -04:00
immutable_object_cache.py qa: check immutable object cache content 2020-09-21 01:36:56 +08:00
kclient.py qa/cephfs: allow reusing mount objects and add remount method 2020-09-10 17:10:51 +05:30
keystone.py qa/keystone: pin python-openstackclient and osc-lib 2020-07-22 19:20:00 +08:00
locktest.py
logrotate.conf
lost_unfound.py test: Test list_unfound with asserts to check for new fields 2020-09-14 13:06:29 -07:00
manypools.py qa/tasks/manypools: get rid of itervalues for py3 compat 2020-03-04 13:09:17 +08:00
mds_creation_failure.py qa: import with full path 2020-03-24 18:27:55 +08:00
mds_pre_upgrade.py
mds_thrash.py qa/tasks/mds_thrash: s/random.sample/random.choice/ 2020-05-23 11:29:53 +08:00
metadata.yaml
mon_clock_skew_check.py qa: import with full path 2020-03-24 18:27:55 +08:00
mon_recovery.py qa/tasks: use "a // b" instead of "a / b" 2020-04-07 20:33:47 +08:00
mon_thrash.py qa/tasks: fix import module path for py3 compat 2020-03-04 13:09:16 +08:00
multibench.py qa: import with full path 2020-03-24 18:27:55 +08:00
netem.py qa/tasks/netem: get rid of cStringIO for py3 2020-03-04 13:09:17 +08:00
netsplit.py qa: add new netsplit task 2020-07-08 04:26:03 +00:00
object_source_down.py qa: import with full path 2020-03-24 18:27:55 +08:00
omapbench.py qa/tasks: drop python2 support 2020-07-21 19:52:11 +08:00
openssl_keys.py qa/tasks/openssl_keys.py: sort cert configs before creating certs 2020-04-08 21:07:07 +08:00
osd_backfill.py qa: import with full path 2020-03-24 18:27:55 +08:00
osd_failsafe_enospc.py qa: log-whitelist -> log-ignorelist 2020-08-24 19:53:08 +00:00
osd_max_pg_per_osd.py qa/tasks/osd_max_pg_per_osd: get rid of itervalues for py3 2020-03-04 13:09:16 +08:00
osd_recovery.py qa: import with full path 2020-03-24 18:27:55 +08:00
peer.py qa: import with full path 2020-03-24 18:27:55 +08:00
peering_speed_test.py qa: import with full path 2020-03-24 18:27:55 +08:00
populate_rbd_pool.py
qemu.py qa/tasks/qemu: use remote.write_file 2020-09-04 00:02:15 +02:00
rados.py qa/tasks: drop python2 support 2020-07-21 19:52:11 +08:00
radosbench.py qa/tasks: drop python2 support 2020-07-21 19:52:11 +08:00
radosbenchsweep.py qa/tasks: drop python2 support 2020-07-21 19:52:11 +08:00
radosgw_admin_rest.py qa/tasks: use next(iter(..)) for accessing first element in a view 2020-04-07 20:33:47 +08:00
radosgw_admin.py qa/tasks/radosgw_admin: drop py2 support 2020-07-05 10:58:28 +08:00
ragweed.py qa/tasks/ragweed: use remote.write_file 2020-09-04 00:02:15 +02:00
rbd_fio.py qa/tasks/rbd_fio: use remote.write_file 2020-09-04 00:02:15 +02:00
rbd_fsx.py
rbd_mirror_thrash.py
rbd_mirror.py qa: import with full path 2020-03-24 18:27:55 +08:00
rbd.py qa/tasks/rbd: drop python2 support 2020-07-22 11:55:49 +08:00
rebuild_mondb.py qa: import with full path 2020-03-24 18:27:55 +08:00
reg11184.py qa: import with full path 2020-03-24 18:27:55 +08:00
rep_lost_unfound_delete.py test: Fix typos in descriptions 2020-09-14 13:06:29 -07:00
repair_test.py qa: log-whitelist -> log-ignorelist 2020-08-24 19:53:08 +00:00
resolve_stuck_peering.py qa: import with full path 2020-03-24 18:27:55 +08:00
restart.py qa/tasks/restart: use remote.read_file instead of misc.get_file 2020-09-04 00:02:16 +02:00
rgw_logsocket.py qa: import with full path 2020-03-24 18:27:55 +08:00
rgw_multi
rgw_multisite_tests.py qa: import with full path 2020-03-24 18:27:55 +08:00
rgw_multisite.py qa: import with full path 2020-03-24 18:27:55 +08:00
rgw.py qa/rgw: allow the rgw teuthology task to capture/set dns names 2020-05-04 13:55:00 -04:00
s3a_hadoop.py qa/tasks/s3a_hadoop: use remote.write_file 2020-09-04 00:02:15 +02:00
s3tests_java.py qa/tasks/s3tests_java: use remote.write_file 2020-09-04 00:02:15 +02:00
s3tests.py qa : STS Testing Files (AssumeRole and GetSessionToken) 2020-09-15 11:58:59 +05:30
samba.py qa/tasks/samba: use remote.write_file 2020-09-04 00:02:15 +02:00
scrub_test.py qa: log-whitelist -> log-ignorelist 2020-08-24 19:53:08 +00:00
scrub.py qa/tasks: flake8 fixes 2020-06-23 23:00:56 +08:00
systemd.py qa/tasks: flake8 fixes 2020-06-23 23:00:56 +08:00
tempest.py blacklist -> blocklist 2020-08-24 19:53:08 +00:00
teuthology_integration.py
tgt.py
thrash_pool_snaps.py
thrasher.py
thrashosds-health.yaml qa: log-whitelist -> log-ignorelist 2020-08-24 19:53:08 +00:00
thrashosds.py qa/tasks: logger.warn() -> logger.warning() 2020-05-13 17:18:13 -06:00
tox.py qa/tasks/tox: use the latest stable tox 2020-06-02 09:48:32 +08:00
userdata_setup.yaml
userdata_teardown.yaml
vault.py qa/tasks: drop python2 support from rgw related tests 2020-07-22 11:55:49 +08:00
vstart_runner.py Merge PR #36457 into master 2020-10-08 13:23:34 -07:00
watch_notify_same_primary.py qa/tasks: drop python2 support 2020-07-21 19:52:11 +08:00
watch_notify_stress.py qa/tasks: drop python2 support 2020-07-21 19:52:11 +08:00
workunit.py qa/tasks/workunit: use remote.read_file instead of misc.get_file 2020-09-04 00:02:16 +02:00