Re: [squid-users] Happy eyeballs

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Wed, 27 Mar 2013 11:46:18 -0600

On 03/26/2013 09:33 PM, Amos Jeffries wrote:

> Squid has a partial implementation of happy eyeballs added to 3.2+ which
> performs the parallel DNS lookup portion of the algorithm

AFAICT Squid waits for the slowest of those two parallel DNS lookups.
For example, when the AAAA query fails on some remote DNS resolver, it
may take many seconds before the failure reaches Squid. Meanwhile, Squid
will be sitting on a perfectly good A answer, doing nothing.

I do not think the Happy Eyeballs RFC covers this case explicitly, but
the lack of smarter code in this area kind of violates the spirit of RFC
6555 Section 5.4 recommendations that talk about ordering DNS records
and starting with the first address in "host's address preference
policy" order. Somebody could add Squid code that would, for example,
honor dns_v4_first setting (or some new option) when deciding whether to
wait for the other DNS answer.

It would be difficult to implement this correctly because the slow
answer may be a valid one (not a DNS error) and would need to be
propagated to the code that opens TCP connections (in case an
alternative is needed). Furthermore, the delay problem might be
mitigated (for subsequent requests) by negative DNS caching (I have not
tested that). However, perhaps we should still welcome patches
implementing a smarter algorithm in this area.

Cheers,

Alex.
Received on Wed Mar 27 2013 - 17:46:20 MDT

This archive was generated by hypermail 2.2.0 : Thu Mar 28 2013 - 12:00:08 MDT