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

bugzilla at redhat.com bugzilla at redhat.com
Tue Sep 6 09:45:55 UTC 2016


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



--- Comment #5 from Raghavendra G <rgowdapp at redhat.com> ---
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?
* 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.
You are the assignee for the bug.


More information about the Bugs mailing list