]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: complete all the replay op when mds is restarted ,no matter the session is close... 29059/head
authorshenhang <shenhang@kuaishou.com>
Tue, 16 Jul 2019 07:19:40 +0000 (15:19 +0800)
committershenhang <shenhang@kuaishou.com>
Sat, 7 Dec 2019 02:41:26 +0000 (10:41 +0800)
commit6837bf5e5242631292462efe2b3599ff8ebe0d8e
tree6f8396b594bfd9b9825dd5def00d1b41323510d9
parente487604ad2af483a54e4616aff2f313a266d99d3
mds: complete all the replay op when mds is restarted ,no matter the session is closed or not.

In reconnect phase client sent unsafe requests to mds before reconnect msg. So this pr will handle situation like this:

1. In reconnect phase , client sent unsafe request to mds.
2. It reached reconnect timeout. All sessions without sending reconnect msg in time, some of which may had sent unsafe requests, are marked as closed.
(Another situation is #31668, which will deny all client reconnect msg to speed up reboot).
3.So these unsafe request from session without sending reconnect msg in time or being denied could be handled in clientreplay phase.

fixes:http://tracker.ceph.com/issues/40784

Signed-off-by: Shen Hang <harryshen18@gmail.com>
src/common/options.cc
src/mds/Locker.cc
src/mds/MDSRank.cc
src/mds/Server.cc
src/mds/Server.h