]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/Messenger: do not crash on unhandled message
authorSage Weil <sage@inktank.com>
Tue, 12 Feb 2013 21:52:09 +0000 (13:52 -0800)
committerSage Weil <sage@inktank.com>
Tue, 12 Feb 2013 22:10:18 +0000 (14:10 -0800)
This is just polite.

Signed-off-by: Sage Weil <sage@inktank.com>
src/common/config_opts.h
src/msg/Messenger.h

index ce3bca204923a70df37847360fe30021c696eef0..733e71038c01a8b803f16e2d3f36f05ca7682e17 100644 (file)
@@ -100,6 +100,7 @@ OPTION(ms_initial_backoff, OPT_DOUBLE, .2)
 OPTION(ms_max_backoff, OPT_DOUBLE, 15.0)
 OPTION(ms_nocrc, OPT_BOOL, false)
 OPTION(ms_die_on_bad_msg, OPT_BOOL, false)
+OPTION(ms_die_on_unexpected_msg, OPT_BOOL, false)
 OPTION(ms_dispatch_throttle_bytes, OPT_U64, 100 << 20)
 OPTION(ms_bind_ipv6, OPT_BOOL, false)
 OPTION(ms_bind_port_min, OPT_INT, 6800)
index f47c2cf5bb5c247bba96ab8043b61b0645f257fe..2f0710c9ebfecdf363249dbf8277baad6a64378f 100644 (file)
@@ -552,11 +552,10 @@ public:
         p++)
       if ((*p)->ms_dispatch(m))
        return;
-    std::ostringstream oss;
-    oss << "ms_deliver_dispatch: fatal error: unhandled message "
-       << m << " " << *m << " from " << m->get_source_inst();
-    dout_emergency(oss.str());
-    assert(0);
+    lsubdout(cct, ms, 0) << "ms_deliver_dispatch: unhandled message " << m << " " << *m << " from "
+                        << m->get_source_inst() << dendl;
+    assert(!cct->_conf->ms_die_on_unexpected_msg);
+    m->put();
   }
   /**
    * Notify each Dispatcher of a new Connection. Call