New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

luminous: mds: configurable timeout for client eviction #24086

Merged
merged 8 commits into from Oct 3, 2018

Conversation

Projects
None yet
4 participants
@batrick
Member

batrick commented Sep 13, 2018

@batrick batrick added the cephfs label Sep 13, 2018

@batrick batrick added this to the luminous milestone Sep 13, 2018

@batrick batrick force-pushed the batrick:i35976 branch 3 times, most recently from de572ec to 56a94f5 Sep 13, 2018

@@ -3519,7 +3519,8 @@ void Locker::remove_client_cap(CInode *in, client_t client)
* Return true if any currently revoking caps exceed the
* mds_session_timeout threshold.
*/
bool Locker::any_late_revoking_caps(xlist<Capability*> const &revoking) const
bool Locker::any_late_revoking_caps(xlist<Capability*> const &revoking,
double timeout) const

This comment has been minimized.

@vshankar

vshankar Sep 17, 2018

Contributor

timeout argument needs to be used below as age <= timeout.

This comment has been minimized.

@batrick

batrick Sep 17, 2018

Member

Great catch! Fixed.

@batrick batrick force-pushed the batrick:i35976 branch from 56a94f5 to c8fa4db Sep 17, 2018

@vshankar

This comment has been minimized.

Contributor

vshankar commented Sep 18, 2018

just needs a rebase...

@batrick

This comment has been minimized.

Member

batrick commented Sep 18, 2018

done

@yuriw

This comment has been minimized.

Contributor

yuriw commented Sep 27, 2018

@batrick has conflicts

--- pr 24086 --- pulling https://github.com/batrick/ceph.git branch i35976
remote: Enumerating objects: 36, done.
remote: Counting objects: 100% (36/36), done.
remote: Total 42 (delta 36), reused 36 (delta 36), pack-reused 6
Unpacking objects: 100% (42/42), done.
From https://github.com/batrick/ceph

  • branch i35976 -> FETCH_HEAD
    Auto-merging src/mds/Server.cc
    Auto-merging src/mds/MDSRank.h
    Auto-merging src/mds/MDSRank.cc
    Auto-merging src/mds/MDSDaemon.cc
    Auto-merging src/mds/Beacon.cc
    Auto-merging src/common/options.cc
    CONFLICT (content): Merge conflict in src/common/options.cc
    Automatic merge failed; fix conflicts and then commit the result.
    Traceback (most recent call last):
    File "/home/yuriw/wip_master/src/script/build-integration-branch", line 62, in
    assert not r
    AssertionError
@yuriw

This comment has been minimized.

Contributor

yuriw commented Sep 27, 2018

@batrick

This comment has been minimized.

Member

batrick commented Sep 28, 2018

This one ahs a bug causing this failure

/ceph/teuthology-archive/yuriw-2018-09-28_12:39:34-fs-wip-yuri-testing-2018-09-27-2343-luminous-distro-basic-smithi/3079595/teuthology.log

will fix later today.

@yuriw

This comment has been minimized.

Contributor

yuriw commented Sep 28, 2018

@batrick still can't merge

--- pr 24086 --- pulling https://github.com/batrick/ceph.git branch i35976
remote: Enumerating objects: 47, done.
remote: Counting objects: 100% (47/47), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 48 (delta 40), reused 47 (delta 40), pack-reused 1
Unpacking objects: 100% (48/48), done.
From https://github.com/batrick/ceph

  • branch i35976 -> FETCH_HEAD
    Auto-merging src/mds/Server.h
    CONFLICT (content): Merge conflict in src/mds/Server.h
    Auto-merging src/mds/Server.cc
    CONFLICT (content): Merge conflict in src/mds/Server.cc
    Auto-merging src/mds/MDSRank.h
    CONFLICT (content): Merge conflict in src/mds/MDSRank.h
    Auto-merging src/mds/MDSRank.cc
    Auto-merging src/mds/MDSDaemon.cc
    CONFLICT (content): Merge conflict in src/mds/MDSDaemon.cc
    Auto-merging src/common/options.cc
    CONFLICT (content): Merge conflict in src/common/options.cc
    Automatic merge failed; fix conflicts and then commit the result.
    Traceback (most recent call last):
    File "/home/yuriw/wip_master/src/script/build-integration-branch", line 62, in
    assert not r
    AssertionError

vshankar and others added some commits Aug 3, 2018

mds: pass timeout argument for fetching late clients
This would be required when fetching clients that have not
responded to cap revoke by MDS for a configured timeout
value.

Additionally, make member functions private which are called
from the Locker class itself.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 005cf6c)

Conflicts:
	src/mds/Locker.cc
mds: evict clients that do not respond to cap revoke by MDS
By default, preserve old behaviour. When configured with a non
default value, evict clients that have not responded to cap
revoke by MDS for the configured amount of seconds.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 4cf7815)

Conflicts:
	src/common/options.cc
	src/mds/MDSDaemon.cc
	src/mds/MDSRank.h
	src/mds/Server.cc
	src/mds/Server.h
test: validate client eviction for cap revoke non-responders
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit c0b1dac)
mds: add counter for tracking cap non-responding clients
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 8f2de92)

Conflicts:
	src/mds/Server.cc
	src/mds/Server.h
doc: document cap revoke non-responders client eviction
Fixes: http://tracker.ceph.com/issues/25188
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 28a52d6)
qa: whitelist cap revoke warning
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 4367de3)
qa: add qa helper methods from master
For Luminous. This is needed by tests in this branch.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>

@batrick batrick force-pushed the batrick:i35976 branch from 5792e5b to 455bc35 Oct 1, 2018

@yuriw

This comment has been minimized.

Contributor

yuriw commented Oct 1, 2018

@batrick

This comment has been minimized.

Member

batrick commented Oct 2, 2018

2018-10-02T05:04:28.919 INFO:tasks.cephfs_test_runner:======================================================================
2018-10-02T05:04:28.919 INFO:tasks.cephfs_test_runner:ERROR: test_cap_revoke_nonresponder (tasks.cephfs.test_misc.TestMisc)
2018-10-02T05:04:28.919 INFO:tasks.cephfs_test_runner:----------------------------------------------------------------------
2018-10-02T05:04:28.919 INFO:tasks.cephfs_test_runner:Traceback (most recent call last):
2018-10-02T05:04:28.919 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_ceph_ceph-c_wip-yuri-testing-2018-10-01-2144-luminous/qa/tasks/cephfs/test_misc.py", line 176, in test_cap_revoke_nonresponder
2018-10-02T05:04:28.920 INFO:tasks.cephfs_test_runner:    self.assertTrue(self.mount_a.is_blacklisted())
2018-10-02T05:04:28.920 INFO:tasks.cephfs_test_runner:AttributeError: 'FuseMount' object has no attribute 'is_blacklisted'

From: /ceph/teuthology-archive/yuriw-2018-10-02_01:20:54-fs-wip-yuri-testing-2018-10-01-2144-luminous-distro-basic-smithi/3092744/teuthology.log

will fix by removing that check

@yuriw yuriw removed the wip-yuri-testing label Oct 2, 2018

qa: remove check using method from master
Not essential we check this and it breaks tests in Luminous.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
@yuriw

This comment has been minimized.

Contributor

yuriw commented Oct 2, 2018

@batrick

This comment has been minimized.

Member

batrick commented Oct 3, 2018

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>

@yuriw yuriw merged commit 336ae60 into ceph:luminous Oct 3, 2018

3 of 4 checks passed

Docs: build check Docs: failed with errors
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details

@batrick batrick deleted the batrick:i35976 branch Oct 5, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment