[Pdns-users] fallback to next backend in case of backend failure?
mh+pdns-users at zugschlus.de
Wed Aug 31 10:35:15 UTC 2011
from what I understand from the docs, PowerDNS always iterates through
all backends to answer a query, taking the first answer it gets from a
What is not documented is PowerDNS's behavior in case of a
non-answering backend. Experiments with the MySQL backend say that it
kind of infinetely waits for the backend to answer, until eventually
the query itself times out. This means, that the complete PowerDNS
server becomes unresponsive if the first configured backend goes down.
It seems to be a common misconception that PowerDNS falls back to the
next backend in case of an unresponsive backend. I have seen
installations with two MySQL backends pointing to two different
replication slaves of the same master, and a similiar setup with
multiple LDAP backends was presented on this mailing list a few months
ago. All of these setups don't work as intended, as I currently see
Is this really the case, and are there intentions to change this?
A possible fix could be a new setting "backend-instance-timeout", for
example, gmysql-timeout, with a numeric value:
The semantics of the new option would be to give the backend n seconds
to deliver an answer, and to iterate over to the next backend (as if
the backend returned an empty answer) after this timeout has passed.
To keep current behavior, the timeout would be 0 by default, meaning
Optionally, there could be a "backend-instance-retryinterval" so that
a backend that timed out once would not be considered again for m
seconds after its first failure, causing subsequent queries not to be
delayed by the backend-instance-timeout for a given period of time.
Am I missing something? Any comments?
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature | How to make an American Quilt | Fax: *49 3221 2323190
More information about the Pdns-users