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

jewel: msgr: msg/async: connection race hang #10003

Merged
1 commit merged into from Aug 4, 2016
Merged

jewel: msgr: msg/async: connection race hang #10003

1 commit merged into from Aug 4, 2016

Commits on Jun 29, 2016

  1. AsyncConnection: create writable event for in progress connection

    Previously we use a tricky with ceph msgr protocol, if initiator side got
    in progress connection state, it will wait until read event. Because if
    tcp session built successfully server side will send the banner firstly
    and initiator side will get read event. Otherwise, if connection failed,
    read event also be called.
    
    But actually man(2)[http://man7.org/linux/man-pages/man2/connect.2.html]
    specify if we want to get notification whether connection built, we need
    to listen writable event. It means when connection built, send buffer
    is ready to be written.
    
    This patch follow the strict nonblock connect process. Not fully sure fix
    http://tracker.ceph.com/issues/15849
    
    Signed-off-by: Haomai Wang <haomai@xsky.com>
    (cherry picked from commit a74ce41)
    yuyuyu101 authored and ldachary committed Jun 29, 2016
    Copy the full SHA
    3dbb08a View commit details
    Browse the repository at this point in the history