From 6837bf5e5242631292462efe2b3599ff8ebe0d8e Mon Sep 17 00:00:00 2001 From: shenhang Date: Tue, 16 Jul 2019 15:19:40 +0800 Subject: [PATCH] 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 --- src/common/options.cc | 5 +++++ src/mds/Locker.cc | 2 +- src/mds/MDSRank.cc | 1 + src/mds/Server.cc | 38 ++++++++++++++++++++++++++++++++------ src/mds/Server.h | 1 + 5 files changed, 40 insertions(+), 7 deletions(-) diff --git a/src/common/options.cc b/src/common/options.cc index df1d2c9571ce..341b4d5d4ffb 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -7867,6 +7867,11 @@ std::vector