diff options
author | Sage Weil <sage@inktank.com> | 2013-02-12 13:52:09 -0800 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-02-12 14:10:18 -0800 |
commit | 1e68ccf6aa139775c378eaab5a103a9cbb2f4049 (patch) | |
tree | 3b9aaf205a9014a28464d4e7b7e469b0fd2064e3 | |
parent | a88f9bea54009c1a40a701025c0eb97cc1480ec5 (diff) | |
download | ceph-1e68ccf6aa139775c378eaab5a103a9cbb2f4049.tar.gz |
msg/Messenger: do not crash on unhandled message
This is just polite.
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | src/common/config_opts.h | 1 | ||||
-rw-r--r-- | src/msg/Messenger.h | 9 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/common/config_opts.h b/src/common/config_opts.h index ce3bca20492..733e71038c0 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -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) diff --git a/src/msg/Messenger.h b/src/msg/Messenger.h index f47c2cf5bb5..2f0710c9ebf 100644 --- a/src/msg/Messenger.h +++ b/src/msg/Messenger.h @@ -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 |