It was shutting down messenger before monclient. This
caused a sometimes-assertion when monclient tried to
reconnect in response to ms_handle_reset.
Signed-off-by: John Spray <john.spray@inktank.com>
journal_dumper->init(rank);
journal_dumper->dump(dump_file.c_str());
mc.shutdown();
+ messenger->shutdown();
+ messenger->wait();
}
else if (action == "undump-journal") {
dout(0) << "undumping journal for mds." << rank << " from " << dump_file << dendl;
journal_dumper->init(rank);
journal_dumper->undump(dump_file.c_str());
mc.shutdown();
+ messenger->shutdown();
+ messenger->wait();
}
else if (action == "reset-journal") {
dout(0) << "resetting journal" << dendl;
jr->init(rank);
jr->reset();
mc.shutdown();
+ messenger->shutdown();
+ messenger->wait();
}
+
else {
assert(0);
}
if (r < 0) { // Error
derr << "error on recovery: " << cpp_strerror(r) << dendl;
- messenger->shutdown();
- // wait for messenger to finish
- messenger->wait();
shutdown();
} else {
dout(10) << "completed journal recovery" << dendl;
derr << "unable to open " << dump_file << ": " << cpp_strerror(err) << dendl;
}
- messenger->shutdown();
-
- // wait for messenger to finish
- messenger->wait();
-
shutdown();
}