mirror of https://github.com/ceph/ceph
qa: add test for importer's unexpected client eviction after an export subtree task is interrupted
Signed-off-by: Zhansong Gao <zhsgao@hotmail.com>
This commit is contained in:
parent
057c5b1610
commit
f23bd5d099
|
@ -649,6 +649,8 @@ class FilesystemBase(MDSClusterBase):
|
|||
def set_session_timeout(self, timeout):
|
||||
self.set_var("session_timeout", "%d" % timeout)
|
||||
|
||||
def set_session_autoclose(self, autoclose_time):
|
||||
self.set_var("session_autoclose", "%d" % autoclose_time)
|
||||
def set_allow_standby_replay(self, yes):
|
||||
self.set_var("allow_standby_replay", yes)
|
||||
|
||||
|
|
|
@ -789,4 +789,26 @@ class TestKillExports(CephFSTestCase):
|
|||
self.wait_until_evicted(client_id, importer_rank)
|
||||
|
||||
# for multiple tests
|
||||
self.mount_a.remount()
|
||||
self.mount_a.remount()
|
||||
|
||||
def test_client_eviction(self):
|
||||
# modify the timeout so that we don't have to wait too long
|
||||
timeout = 30
|
||||
self.fs.set_session_timeout(timeout)
|
||||
self.fs.set_session_autoclose(timeout + 5)
|
||||
|
||||
kill_export_at = [9, 10]
|
||||
|
||||
exporter_rank = 0
|
||||
importer_rank = 1
|
||||
|
||||
for kill in kill_export_at:
|
||||
log.info(f"kill_export_at: {kill}")
|
||||
self._run_kill_export(kill, exporter_rank, importer_rank)
|
||||
|
||||
client_id = self.mount_a.get_global_id()
|
||||
self.wait_until_evicted(client_id, importer_rank, timeout + 10)
|
||||
time.sleep(1)
|
||||
|
||||
# failed if buggy
|
||||
self.mount_a.ls()
|
||||
|
|
Loading…
Reference in New Issue