From 7f8f8f4d48d867dca591f8147768ba818250f321 Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Tue, 14 Jan 2020 17:52:28 -0800 Subject: [PATCH] qa: ignore trimmed cache items for dead cache drop Fixes: https://tracker.ceph.com/issues/42986 Signed-off-by: Patrick Donnelly (cherry picked from commit 590368e956111a64e717cfff07a7a25e40fe4950) --- .../fs/multiclient/tasks/cephfs_misc_tests.yaml | 2 ++ qa/tasks/cephfs/test_misc.py | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/qa/suites/fs/multiclient/tasks/cephfs_misc_tests.yaml b/qa/suites/fs/multiclient/tasks/cephfs_misc_tests.yaml index 90ae385897a98..564989d6d7664 100644 --- a/qa/suites/fs/multiclient/tasks/cephfs_misc_tests.yaml +++ b/qa/suites/fs/multiclient/tasks/cephfs_misc_tests.yaml @@ -9,3 +9,5 @@ overrides: - evicting unresponsive client - POOL_APP_NOT_ENABLED - has not responded to cap revoke by MDS for over + - MDS_CLIENT_LATE_RELEASE + - responding to mclientcaps diff --git a/qa/tasks/cephfs/test_misc.py b/qa/tasks/cephfs/test_misc.py index 82fbd763bbf04..2fc9ed53d14f1 100644 --- a/qa/tasks/cephfs/test_misc.py +++ b/qa/tasks/cephfs/test_misc.py @@ -260,7 +260,12 @@ class TestCacheDrop(CephFSTestCase): self.assertEqual(result['flush_journal']['return_code'], 0) self.assertGreater(result['duration'], 5) self.assertLess(result['duration'], 120) - self.assertEqual(0, result['trim_cache']['trimmed']) + # Note: result['trim_cache']['trimmed'] may be >0 because dropping the + # cache now causes the Locker to drive eviction of stale clients (a + # stale session will be autoclosed at mdsmap['session_timeout']). The + # particular operation causing this is journal flush which causes the + # MDS to wait wait for cap revoke. + #self.assertEqual(0, result['trim_cache']['trimmed']) self.mount_a.kill_cleanup() self.mount_a.mount() self.mount_a.wait_until_mounted() @@ -278,7 +283,11 @@ class TestCacheDrop(CephFSTestCase): self.assertEqual(result['flush_journal']['return_code'], 0) self.assertGreater(result['duration'], 5) self.assertLess(result['duration'], 120) - self.assertEqual(0, result['trim_cache']['trimmed']) + # Note: result['trim_cache']['trimmed'] may be >0 because dropping the + # cache now causes the Locker to drive eviction of stale clients (a + # stale session will be autoclosed at mdsmap['session_timeout']). The + # particular operation causing this is journal flush which causes the + # MDS to wait wait for cap revoke. self.mount_a.kill_cleanup() self.mount_a.mount() self.mount_a.wait_until_mounted() -- 2.39.5