Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #10080 - OSD crashes during msgr reconnection #3029

Closed
wants to merge 1 commit into from
Closed

Fix #10080 - OSD crashes during msgr reconnection #3029

wants to merge 1 commit into from

Commits on Nov 28, 2014

  1. Event flow analysis:

      Let us say OSD A and B are peers with each other, at certain point, B is marked down by monitor (and thus kicked off osd map), but the daemon is still there, A would mark the connection with B down and clean everything. When B is in again, it will try to connect with A and negotiate the message in/out sequence. At A side, it will receive B's in_seq and drop messages whose sequence is equal to or less than B's in_seq. In this case, A's out_seq might be inconsistent to B's in_seq.
    
    Solution:
     At A side, after receiving B's in_seq, if after locally clean-up, if its out_seq is still less than B's in_seq, bump up its out_seq to make two sides consistent with each other.
    
    Signed-off-by: Guang Yang <yguang@yahoo-inc.com>
    Guang Yang committed Nov 28, 2014
    Copy the full SHA
    9027e73 View commit details
    Browse the repository at this point in the history