]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msgr: add 'ms die on old message' to help catch reconnect seq issues
authorSage Weil <sage@inktank.com>
Thu, 11 Jul 2013 01:37:14 +0000 (18:37 -0700)
committerSage Weil <sage@inktank.com>
Fri, 12 Jul 2013 18:38:40 +0000 (11:38 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/common/config_opts.h
src/msg/Pipe.cc

index 016c08204c4919ba15ab7a1ab4963082cd2f39c5..a959b4db401445279fd75d295e92e26d01b13a69 100644 (file)
@@ -108,6 +108,7 @@ 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_unhandled_msg, OPT_BOOL, false)
+OPTION(ms_die_on_old_message, OPT_BOOL, false)     // assert if we get a dup incoming message and shouldn't have (may be triggered by pre-541cd3c64be0dfa04e8a2df39422e0eb9541a428 code)
 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 884f01d0c1b4d84ec0344b30e9681fa7b7fca0f2..db5f709dddab9481389862425ea146e2534b97e5 100644 (file)
@@ -1378,6 +1378,9 @@ void Pipe::reader()
                << ", discarding" << dendl;
        msgr->dispatch_throttle_release(m->get_dispatch_throttle_size());
        m->put();
+       if (connection_state->has_feature(CEPH_FEATURE_RECONNECT_SEQ) &&
+           msgr->cct->_conf->ms_die_on_old_message)
+         assert(0 == "old msgs despite reconnect_seq feature");
        continue;
       }