[Bugs] [Bug 1333317] rpc_clnt will sometimes not reconnect when using encryption

bugzilla at redhat.com bugzilla at redhat.com
Mon Jun 20 06:52:30 UTC 2016


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



--- Comment #11 from Kaushal <kaushal at redhat.com> ---
(In reply to Kaushal from comment #0)
> When using encrypted transport, the RPC clients in certain cases not
> reconnect.
> 
> This happens mainly during the initial connection establishment phase. If a
> given hostname has multiple resolved addresses or when using multiple
> volfile servers, if the first address is down, the client will not attempt
> reconnects with the next addresses.
> 
> This happens because in such situations the rpc layer tries to use epoll for
> the encrypted connections, which don't work together, instead of using
> own-threads.

These reconnection failures are more visible when IPv6 addresses get resolved
for a given hostname. IPv6 resolution was enabled in glusterfs-3.8, by having
getaddrifo use AF_UNSPEC. Normal configuration for getaddrinfo() gives higher
preference to IPv6 addresses in this case. So a rpc_clnt will try to connect to
the IPv6 address first. But glusterfs rpcsvc listeners, listen on 0.0.0.0,
which only listens on IPv4 addresses. This causes rpc_clnt connections to fail
initially. But a reconnection should be triggered, which will use the next
returned IPv4 address, and successfully connect. This reconnection happens for
non-encrypted connections, but fails for encrypted connections in a similar
manner to what was described before.

This issue was reported by Michael Wyraz on the gluster-devel mailing list. [1]

Fixing the reconnection issues, will solve this issue as well. This can also be
solved by having rpcsvc listen on IPv6 addresses.

A temporary workaround to this would be give a higher preference to IPv4
addresses by editing /etc/gai.conf and adding the line `precedence
::ffff:0:0/96  100`. Or the /etc/hosts file can be edited to remove the IPv6
address for localhost.

[1]: https://www.gluster.org/pipermail/gluster-devel/2016-June/049833.html

-- 
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=powCjpnSXr&a=cc_unsubscribe


More information about the Bugs mailing list