The hot-standby become active as we expected but the mount piont broken strangely
when the active mds is down. The root reason is the new mds use last_cap_renews
decoded from ESesson::replay in find_idle_sessions and wrongly killed the session.
Maybe we should reset session->last_cap_renew to the current time when server send
OPEN to client in reconnect stage.
Fixes: http://tracker.ceph.com/issues/19437
Signed-off-by: Guan yunfei <yunfei.guan@xtaotech.com>
(cherry picked from commit
4ef830c5d6f22bf0d4f82a8624c772ecbbda44a6)
// notify client of success with an OPEN
m->get_connection()->send_message(new MClientSession(CEPH_SESSION_OPEN));
+ session->last_cap_renew = ceph_clock_now();
mds->clog->debug() << "reconnect by " << session->info.inst << " after " << delay;
// snaprealms