[Bugs] [Bug 1739320] The result (hostname) of getnameinfo for all bricks (ipv6 addresses) are the same, while they are not.

bugzilla at redhat.com bugzilla at redhat.com
Fri Aug 30 03:15:12 UTC 2019


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



--- Comment #11 from Amgad <amgad.saleh at nokia.com> ---

*** I verified that "ai_family" passed in "af_inet_client_get_remote_sockaddr"
to "gf_resolve_ip6" [rpc/rpc-transport/socket/src/name.c], is for IPv4 "2" and
not IPv6 (should be "10"):

af_inet_client_get_remote_sockaddr(rpc_transport_t *this,
                                   struct sockaddr *sockaddr,
                                   socklen_t *sockaddr_len)
.......

    /* TODO: gf_resolve is a blocking call. kick in some
       non blocking dns techniques */
    ret = gf_resolve_ip6(remote_host, remote_port, sockaddr->sa_family,
                         &this->dnscache, &addr_info);
    gf_log(this->name, GF_LOG_ERROR, "CSTO-DEBUG: Family Address is %d",
sockaddr->sa_family);              ==> my added debug msg

AND

*** in [libglusterfs/src/common-utils.c] where "gf_resolve_ip6" is defined
where the IPv6 is passed to "getaddrinfo" as host name, and it failed because
the ai_family is not right:

int32_t
gf_resolve_ip6(const char *hostname, uint16_t port, int family, void
**dnscache,
               struct addrinfo **addr_info)
{
...
        if ((ret = getaddrinfo(hostname, port_str, &hints, &cache->first)) !=
            0) {
            gf_msg("resolver", GF_LOG_ERROR, 0, LG_MSG_GETADDRINFO_FAILED,
                   "getaddrinfo failed (family:%d) (%s)", family,
                   gai_strerror(ret));

            gf_msg("resolver", GF_LOG_ERROR, 0, LG_MSG_GETADDRINFO_FAILED,     
                          ==> my added debug msg
                   "CSTO-DEBUG: getaddrinfo failed (hostname:%s) (%s)",
hostname,
                   gai_strerror(ret));

.........
/var/log/glusterfs/glustershd.log output:
.....
[2019-08-30 01:03:51.871225] E [MSGID: 101075]
[common-utils.c:512:gf_resolve_ip6] 0-resolver: CSTO-DEBUG: getaddrinfo failed
(hostname:2001:db8:1234::8) (Address family for hostname not supported)

[2019-08-30 01:03:51.871239] E [name.c:256:af_inet_client_get_remote_sockaddr]
0-glusterfs: CSTO-DEBUG: Family Address is 2 ==>
[2019-08-30 01:03:51.871249] E [name.c:260:af_inet_client_get_remote_sockaddr]
0-glusterfs: DNS resolution failed on host 2001:db8:1234::8
........

That's why failed DNS resolution and caused glustershd not to come up.

-- 
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