BUG: dns: timeout resolve not applied for valid resolutions
authorBaptiste Assmann <bedis9@gmail.com>
Thu, 7 Nov 2019 10:02:18 +0000 (11:02 +0100)
committerWilly Tarreau <w@1wt.eu>
Thu, 7 Nov 2019 17:50:07 +0000 (18:50 +0100)
commitf50e1ac4442be41ed8b9b7372310d1d068b85b33
tree1b907058d545324a33188d1fd70a5dd9d9c3d358
parent7264dfe9495a7bfd784b8964508e4204b7e077af
BUG: dns: timeout resolve not applied for valid resolutions

Documentation states that the interval between 2 DNS resolution is
driven by "timeout resolve <time>" directive.
From a code point of view, this was applied unless the latest status of
the resolution was VALID. In such case, "hold valid" was enforce.
This is a bug, because "hold" timers are not here to drive how often we
want to trigger a DNS resolution, but more how long we want to keep an
information if the status of the resolution itself as changed.
This avoid flapping and prevent shutting down an entire backend when a
DNS server is not answering.

This issue was reported by hamshiva in github issue #345.

Backport status: 1.8
src/dns.c