[Bug 1739672] Re: Regression in getaddrinfo(): calls block for much longer on Bionic (compared to Xenial)
Mike Pontillo
mike.pontillo at canonical.com
Thu Jan 4 17:30:33 UTC 2018
Interesting; the first thing I tried when triaging this was to edit
/etc/nsswitch.conf as follows:
# hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
hosts: files dns
... to eliminate the possibility that it was multicast DNS causing the
slowdown. But it appears I'm behind the times. ;-) (And didn't this only
affect the .local domain?)
Does this mean there are now two subsystems responsible for link-local
address resolution? (avahi and systemd-resolved?)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1739672
Title:
Regression in getaddrinfo(): calls block for much longer on Bionic
(compared to Xenial)
Status in glibc package in Ubuntu:
Invalid
Status in linux package in Ubuntu:
Invalid
Status in systemd package in Ubuntu:
Confirmed
Bug description:
When testing MAAS on Bionic, we noticed sluggish performance that we
could not immediately explain.
After comparing the results from a run of the test suite on Xenial to
a run on Bionic, we determined that the slowdowns had to do with DNS
lookups. In particular, if MAAS attempts to resolve a hostname using
getaddrinfo() and the call fails, on Xenial the negative result is
returned in a fraction of a second. On Bionic, the negative result is
returned in ~1.6 seconds, according to some measures.
### To run the test ###
git clone https://github.com/mpontillo/test-getaddrinfo
cd test-getaddrinfo
make
### Results on Xenial ###
$ time ./test not-a-real-hostname
Trying to resolve: not-a-real-hostname
getaddrinfo errno: Success
getaddrinfo() return value: -2 (Name or service not known)
real 0m0.015s
user 0m0.000s
sys 0m0.000s
### Results on Bionic ###
$ time ./test not-a-real-hostname
Trying to resolve: not-a-real-hostname
getaddrinfo errno: Resource temporarily unavailable
getaddrinfo() return value: -3 (Temporary failure in name resolution)
real 0m1.609s
user 0m0.004s
sys 0m0.000s
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1739672/+subscriptions
More information about the foundations-bugs
mailing list