Bug #46535
Updated by Sidharth Anupkrishnan almost 4 years ago
An MDS hitting Hitting mds_kill_import_at = 7 during import and subsequent taking over by a standby MDS causes will cause imported client session to be blacklisted. test failure. The reason for this is that before this killpoint (https://github.com/sidharthanup/ceph/blob/wip-multimdss-killpoint-test/src/mds/Migrator.cc#L3026) is hit, there is a prepare_force_open_sessions() method being called(https://github.com/sidharthanup/ceph/blob/wip-multimdss-killpoint-test/src/mds/Migrator.cc#L2699) in handle_export_dir() and this call marks a dirty open session which later gets persisted as part of the journal event EImportStart. Now during journal replay of the new MDS, this information is relayed to the new MDS and the new MDS thinks that there is an open session with the client whereas in reality, that session was closed. Now during up:reconnect, it tries to reconnect with the client and gets no response and ends up blacklisting the client. We probably want to try to force open the dirty session during EImportStart replay.