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

Conversation

ghost
Copy link

@ghost ghost commented Jun 29, 2016

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)
@ghost ghost self-assigned this Jun 29, 2016
@ghost ghost added this to the jewel milestone Jun 29, 2016
@ghost ghost added bug-fix core labels Jun 29, 2016
ghost pushed a commit that referenced this pull request Jun 30, 2016
Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Jul 1, 2016
Reviewed-by: Loic Dachary <ldachary@redhat.com>
@ghost
Copy link
Author

ghost commented Aug 4, 2016

@yuyuyu101 does this backport look good to merge ? It passed the rados suite http://tracker.ceph.com/issues/16344#note-13

@ghost ghost assigned yuyuyu101 Aug 4, 2016
@yuyuyu101
Copy link
Member

lgtm

@ghost ghost merged commit 093f30d into ceph:jewel Aug 4, 2016
@ghost ghost changed the title jewel: msg/async: connection race hang jewel: msgr: msg/async: connection race hang Aug 25, 2016
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant