CEPH filesystem development
 help / color / mirror / Atom feed
* About in_seq, out_seq in Messenger
@ 2015-02-06  8:26 Haomai Wang
  2015-02-06  9:40 ` Sage Weil
  2015-02-06 14:47 ` Gregory Farnum
  0 siblings, 2 replies; 14+ messages in thread
From: Haomai Wang @ 2015-02-06  8:26 UTC (permalink / raw)
  To: Sage Weil, Gregory Farnum; +Cc: ceph-devel@vger.kernel.org

Hi all,

Recently we enable a async messenger test job in test
lab(http://pulpito.ceph.com/sage-2015-02-03_01:15:10-rados-master-distro-basic-multi/#).
We hit many failed assert mostly are:
              assert(0 == "old msgs despite reconnect_seq feature");

And assert connection all are cluster messenger which mean it's OSD
internal connection. The policy associated this connection is
Messenger::Policy::lossless_peer.

So when I dive into this problem, I find something confusing about
this. Suppose these steps:
1. "lossless_peer" policy is used by both two side connections.
2. markdown one side(anyway), peer connection will try to reconnect
3. then we restart failed side, a new connection is built but
initiator will think it's a old connection so sending in_seq(10)
4. new started connection has no message in queue and it will receive
peer connection's in_seq(10) and call discard_requeued_up_to(10). But
because no message in queue, it won't modify anything
5. now any side issue a message, it will trigger "assert(0 == "old
msgs despite reconnect_seq feature");"

I can replay these steps in unittest and actually it's hit in test lab
for async messenger which follows simple messenger's design.

Besides, if we enable reset_check here, "was_session_reset" will be
called and it will random out_seq, so it will certainly hit "assert(0
== "skipped incoming seq")".

Anything wrong above?

-- 
Best Regards,

Wheat

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-02-25 21:19 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-06  8:26 About in_seq, out_seq in Messenger Haomai Wang
2015-02-06  9:40 ` Sage Weil
2015-02-06 16:00   ` Haomai Wang
2015-02-06 14:47 ` Gregory Farnum
2015-02-06 16:16   ` Haomai Wang
2015-02-09 16:00     ` Gregory Farnum
2015-02-11 11:48       ` Haomai Wang
2015-02-12 17:26         ` Greg Farnum
2015-02-13  5:17           ` Haomai Wang
2015-02-23 16:04             ` Greg Farnum
2015-02-24 15:18               ` Haomai Wang
2015-02-24 18:27                 ` Gregory Farnum
2015-02-25 17:40                   ` Haomai Wang
2015-02-25 21:19                     ` Gregory Farnum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox