Actions
Bug #17801
closedCleanly reject "session evict" command when in replay
% Done:
0%
Source:
other
Tags:
Backport:
jewel
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
Currently we crash like this (from ceph-users):
2016-11-04 13:36:03.805549 7f924ded0700 1 mds.gp-ceph-mds1 asok_command: session evict (starting...) 2016-11-04 13:36:03.809513 7f924ded0700 -1 mds/MDLog.cc: In function 'void MDLog::_submit_entry(LogEvent*, MDSInternalContextBase*)' thread 7f924ded0700 time 2016-11-04 13:36:03.805586 mds/MDLog.cc: 275: FAILED assert(!mds->is_any_replay()) ceph version 10.2.3 (ecc23778eb545d8dd55e2e4735b53cc93f92e65b) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x80) [0x55c691e22ef0] 2: (MDLog::_submit_entry(LogEvent*, MDSInternalContextBase*)+0x47f) [0x55c691c8189f] 3: (Server::journal_close_session(Session*, int, Context*)+0x6df) [0x55c691a6059f] 4: (Server::kill_session(Session*, Context*)+0x1bd) [0x55c691a623bd] 5: (MDSRankDispatcher::handle_asok_command(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >,
We should explicitly check for replay when handling this command and send an error to the caller to tell them to wait for replay to finish before trying to evict anyone.
Actions