[Pdns-users] PowerDNS custom backend questions

Mihaly Zachar zmihaly at gmail.com
Tue Nov 23 21:54:22 UTC 2010

Hi Gents,

We are planning to build an ENUM service based on PDNS.
Since the background business logic is pretty complex, we are planning
to write a custom backend for PDNS.

After the first few checks a few things were not clear.

Prerequisites for the project:

1) PDNS must not do any caching (will be handled on the backend side)
2) PDNS should constantly run only one backend thread, the rest of the
job should be done by the backend.
3) PDNS and the backend should interface through an incoming and an
outgoing FIFOs / Queues.

It seems that I successfully disabled the cache by the config
(cache-ttl, negquery-cache-ttl, query-cache-ttl) parameters.
Can it be correct ?

I wrote a simple backend to see how PDNS opens/closes the backend
threads and by having (distributor-threads=1) seems that PDNS opened
only one distributor thread.
If I answered back slowly from the backend, the subsequent queries
always waited the answer.

I found the following in the doc

"PowerDNS may instantiate multiple instances of your backend, or destroy
existing copies and instantiate new ones."

I took a quick look into the source, but I did not really find anything
where and why it would kill the backend thread.

During my stress test and having "distributor-threads=1" seems that it
did not destroy my thread after long time.
Can you guys please clarify the above statement ?
Can you please confirm that in this case PDNS will never kill my thread ?

I think I can manage to do this.

Any answers/comments are really appreciated.


More information about the Pdns-users mailing list