Red Hat Bugzilla – Bug 1313206
Encrypted rpc clients do not reconnect sometimes
Last modified: 2016-06-16 09:58:44 EDT
When encryption is enabled on an rpc client, it can sometimes fail to reconnect.
This happens because, on the first reconnect attempt the underlying transport is freed if connect fails. Further reconnect attempts will not happen as the transport doesn't exist anymore.
This can lead to clusters showing inconsistent peer status information, and not performing correctly when management encryption is enabled.
REVIEW: http://review.gluster.org/13554 (socket: Launch socket_poller only if connect succeeded) posted (#1) for review on master by Kaushal M (firstname.lastname@example.org)
REVIEW: http://review.gluster.org/13554 (socket: Launch socket_poller only if connect succeeded) posted (#2) for review on master by Kaushal M (email@example.com)
COMMIT: http://review.gluster.org/13554 committed in master by Raghavendra G (firstname.lastname@example.org)
Author: Kaushal M <email@example.com>
Date: Tue Mar 1 13:04:03 2016 +0530
socket: Launch socket_poller only if connect succeeded
For an encrypted connection, sockect_connect() used to launch
socket_poller() in it's own thread (ON by default), even if the connect
failed. This would cause two unrefs to be done on the transport, once in
socket_poller() and once in socket_connect(), causing the transport to
be freed and cleaned up. This would cause further reconnect attempts
from failing as the transport wouldn't be available.
By starting socket_poller() only if connect succeeded, this is avoided.
Signed-off-by: Kaushal M <firstname.lastname@example.org>
Smoke: Gluster Build System <email@example.com>
NetBSD-regression: NetBSD Build System <firstname.lastname@example.org>
CentOS-regression: Gluster Build System <email@example.com>
Reviewed-by: Raghavendra G <firstname.lastname@example.org>
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.0, please open a new bug report.
glusterfs-3.8.0 has been announced on the Gluster mailinglists , packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist  and the update infrastructure for your distribution.