From: Sage Weil Date: Wed, 2 Apr 2014 15:49:33 +0000 (-0700) Subject: msgr: add ms_dump_on_send option X-Git-Tag: v0.79~3^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2f7522c83a35b2726e73d110ab07a25308f5ea13;p=ceph.git msgr: add ms_dump_on_send option This is useful only for debugging. The encoded contents of a message are dumped to the log on message send. This is useful when valgrind is triggering warnings about uninitialized memory in messages because the call chain will indicate which message type is to blame, whereas the usual writer thread context does not tell us any useful information. Signed-off-by: Sage Weil --- diff --git a/src/common/config_opts.h b/src/common/config_opts.h index 6b97c82cfba9..ff674cfc19b7 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -126,6 +126,7 @@ OPTION(ms_inject_delay_msg_type, OPT_STR, "") // the type of message to del OPTION(ms_inject_delay_max, OPT_DOUBLE, 1) // seconds OPTION(ms_inject_delay_probability, OPT_DOUBLE, 0) // range [0, 1] OPTION(ms_inject_internal_delays, OPT_DOUBLE, 0) // seconds +OPTION(ms_dump_on_send, OPT_BOOL, false) // hexdump msg to log on send OPTION(inject_early_sigterm, OPT_BOOL, false) diff --git a/src/msg/SimpleMessenger.cc b/src/msg/SimpleMessenger.cc index e11783dd0ab5..2070fe591240 100644 --- a/src/msg/SimpleMessenger.cc +++ b/src/msg/SimpleMessenger.cc @@ -399,6 +399,19 @@ ConnectionRef SimpleMessenger::get_loopback_connection() void SimpleMessenger::submit_message(Message *m, Connection *con, const entity_addr_t& dest_addr, int dest_type, bool lazy) { + + if (cct->_conf->ms_dump_on_send) { + m->encode(-1, true); + ldout(cct, 0) << "submit_message " << *m << "\n"; + m->get_payload().hexdump(*_dout); + if (m->get_data().length() > 0) { + *_dout << " data:\n"; + m->get_data().hexdump(*_dout); + } + *_dout << dendl; + m->clear_payload(); + } + // existing connection? if (con) { Pipe *pipe = NULL;