]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: tolerate no session on no_reply()
authorSage Weil <sage@inktank.com>
Sat, 22 Sep 2012 04:05:27 +0000 (21:05 -0700)
committerSage Weil <sage@inktank.com>
Sat, 22 Sep 2012 04:05:27 +0000 (21:05 -0700)
We remove the Session* in ms_handle_reset().

Signed-off-by: Sage Weil <sage@inktank.com>
src/mon/Monitor.cc

index 6700ba515c113df4b6d8e4905800e4e13830f8aa..079c250046cc1fa49958c78cd48838df56e0ef6b 100644 (file)
@@ -1569,7 +1569,10 @@ void Monitor::send_reply(PaxosServiceMessage *req, Message *reply)
 void Monitor::no_reply(PaxosServiceMessage *req)
 {
   MonSession *session = (MonSession*)req->get_connection()->get_priv();
-  assert(session);
+  if (!session) {
+    dout(2) << "no_reply no session, dropping non-reply to " << req << " " << *req << dendl;
+    return;
+  }
   if (session->proxy_con) {
     if (get_quorum_features() & CEPH_FEATURE_MON_NULLROUTE) {
       dout(10) << "no_reply to " << req->get_source_inst() << " via mon." << req->session_mon