Project

General

Profile

Actions

Bug #17801

closed

Cleanly reject "session evict" command when in replay

Added by John Spray over 7 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Correctness/Safety
Target version:
-
% 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.


Related issues 1 (0 open1 closed)

Copied to CephFS - Backport #18010: jewel: Cleanly reject "session evict" command when in replayResolvedLoïc DacharyActions
Actions

Also available in: Atom PDF