[Bugs] [Bug 1372356] glusterd experiencing repeated connect/ disconnect messages when shd is down

bugzilla at redhat.com bugzilla at redhat.com
Wed Sep 7 07:37:53 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1372356



--- Comment #6 from Kaushal <kaushal at redhat.com> ---
(In reply to Raghavendra G from comment #5)
> Following is the control flow we observed:
> 
> * connect(2) returned -1 with ECONNREFUSED.
> * A shutdown is called on socket, with the intention of processing the
> failure in poller thread (why error has to be processed in poller thread
> when connect has failed with an error other than EAGAIN/EBUSY/EINPROGRESS?).
> * socket is added for polling.
> * socket_event_handle is called with all three - pollin, pollout and pollerr
> - events set.
> * As this is the pollin event received when priv->connected is 0,
> socket_connect_finish is called, which in turn doesn't find any error set on
> socket. getsockopt not returning any error might be valid as connect had
> _failed_ with errno other than EINPROGRESS. connection is deemed successful
> and higher layers are notified with RPC_CONNECT event.
> * On further execution of socket_event_handle, pollerr is processed and a
> RPC_DISCONNECT event is sent to higher layer.
> 
> Some things to ponder about:
> * why did we receive a pollin/pollout event on socket when connect has
> failed clearly?

This is what is surprising to me as well. Is it possible that we got these
events because someone is using this socket already?

> * why error has to be processed in poller thread when connect has failed
> with an error other than EAGAIN/EBUSY/EINPROGRESS?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=fKT9pCJmTq&a=cc_unsubscribe


More information about the Bugs mailing list