RFC about 9.3.4 - first query to >=bind.3 caching server always gives sorted order for round robin set
Stefan Schmidt
zaphodb--bind at zaphods.net
Wed Feb 7 12:31:27 UTC 2007
I just sent the following to bind9-bugs and wondered whether there probably
are contrary opinions on this that you might want to share with us/me.
Stefan
----- Forwarded message from Stefan Schmidt <s.schmidt at mcbone.net> -----
> Date: Wed, 7 Feb 2007 13:24:56 +0100
> From: Stefan Schmidt <s.schmidt at mcbone.net>
> To: bind9-bugs at isc.org
> Subject: 9.3.4 - first query to >=bind.3 caching server always gives sorted order for round robin set
>
> Hi all,
>
> our Postmasters noticed that the 'first' MTA of their round-robin set
> gets a higher load of connections as the other machines of the same set.
> On a freshly started BIND 9.3.4 this set always looks like the following:
> mx.freenet.de. 600 IN A 194.97.50.135
> mx.freenet.de. 600 IN A 194.97.50.136
> mx.freenet.de. 600 IN A 194.97.50.138
> mx.freenet.de. 600 IN A 194.97.50.144
> mx.freenet.de. 600 IN A 194.97.50.151
> mx.freenet.de. 600 IN A 194.97.50.153
> mx.freenet.de. 600 IN A 194.97.55.147
> mx.freenet.de. 600 IN A 194.97.55.148
> mx.freenet.de. 600 IN A 194.97.55.190
> mx.freenet.de. 600 IN A 194.97.55.191
> mx.freenet.de. 600 IN A 194.97.55.192
> mx.freenet.de. 600 IN A 194.97.55.242
>
> It seems current glibc resolver libraries do not rotate rrsets so BINDs
> behaviour does indeed matter here.
> I tested on Linux Debian/unstable libc6-i686 2.3.6.ds1-11 so far.
>
> I verified that this behaviour also gets triggered after the rrset gets expired
> from the cache with
> monster-round-robin.battleground.zaphods.net. 5 IN A 10.2.99.254
> monster-round-robin.battleground.zaphods.net. 5 IN A 10.2.99.1
> monster-round-robin.battleground.zaphods.net. 5 IN A 10.2.99.2
> monster-round-robin.battleground.zaphods.net. 5 IN A 10.2.99.3
> ...
> Oddly enough this thing always starts with 10.2.99.254 which i guess is due to
> some kind of data structure wrap around.
>
> After checking the changelog for rrset-order i came across this entry:
> 1555. [func] 'rrset-order cyclic' no longer has a random starting
> point. [RT #7572]
>
> I was not able to find the default value for rrset-order in the BIND9 ARM but
> from what i see from subsequent queries of the abovementioned round-robin sets
> it is cyclic.
>
> IMO the best thing to do with round-robin sets is rotate them - even for the first
> query - as there are many DNS caching implementations around that aparently do not
> rotate round-robin sets themselves.
>
> best regards,
>
> Stefan Schmidt
> Hostmaster
<snip>
----- End forwarded message -----
More information about the bind-workers
mailing list