[Pdns-users] Recursor: Different answers for the same query

Stefan Schmidt zaphodb at zaphods.net
Wed Jan 26 09:54:34 UTC 2011


On Wed, Jan 26, 2011 at 10:32:19AM +0100, Christian Kuehn wrote:
> Hi,

Hey there,

> any idea why the pdns-recursor 3.3 gives different answers to the same
> query??
> Looks like a bug??

The recursor now scales over CPUs and cores by default and maintains a cache
per 'thread', hence it _might_ give different answers from cache on occasion.

-> http://doc.powerdns.com/changelog.html#changelog-recursor-3-2
"Multithreading, allowing near linear scaling to multiple CPUs or cores.
Configured using 'threads=' (many commits). This also deprecates the '--fork'
option."

"This version of the PowerDNS Recursor contains a rather novel form of
lock-free multithreading, a situation that comes close to the old '--fork'
trick, but allows the Recursor to fully utilize multiple CPUs, while
delivering unified statistics and operational control.

In effect, this delivers the best of both worlds: near linear scaling, with
almost no administrative overhead.

Compared to 'regular multithreading', whereby threads cooperate more closely,
more memory is used, since each thread maintains its own DNS cache. However,
given the economics, and the relatively limited total amount of memory needed
for high performance, this price is well worth it."

So it's not a bug, but by design.

In normal DNS operations you should not get different responses, however your
example seems to be one of those edge cases where you do.
I'm getting a REFUSED from both pns.dtag.de and secondary000.dtag.net for that
query btw.

Note that you can also fire up the recursor with the trace=yes option in order
to find out where exactly the recursion process goes haywire, however be
advised that this causes a _lot_ of logging output.

	Stefan
-- 
The major difference between a thing that might go wrong and a thing that
cannot possibly go wrong is that when a thing that cannot possibly go wrong
goes wrong it usually turns out to be impossible to get at or repair.
- Douglas Adams, "Mostly Harmless"



More information about the Pdns-users mailing list