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