[Pdns-users] MySQL backend and connection reuse
Xan Charbonnet
xan at charbonnet.com
Mon Feb 5 05:15:20 UTC 2018
Hello,
I'm working on migrating an installation from PowerDNS 3.1 on Debian 7
"Wheezy" to PowerDNS 4.0.3 on Debian 9 "Stretch".
I'm using the MySQL backend, connected to MariaDB 10.1.30, which is not
the Stretch default, but the one from the MariaDB repository. I've
tried the Stretch default PowerDNS 4.0.3, as well as PowerDNS 4.0.5 and
PowerDNS 4.1.0 from the PowerDNS repository, and had the same problem.
I think fundamentally the problem I'm having boils down to this: the
first time PowerDNS makes a basic-query, everything is fine. Subsequent
times, the response is somehow truncated, and/or a previously-seen SOA
is returned.
It looks like the issue is between MariaDB and PowerDNS. I set up socat
as a logging proxy and observed that the first time I trigger a PowerDNS
basic-query via dig, the exchanged traffic is ~10K. The second time,
it's ~4K.
If I kill the connection between PowerDNS and MariaDB, either by
restarting MariaDB or simply by ordering MariaDB to kill the connection
in use by PowerDNS, then the subsequent attempt fails because of the
missing connection, but from then it's the same as the beginning: the
next query after that will succeed and subsequent ones will fail.
From the MariaDB command line I can make the exact queries that
PowerDNS is making, verified by the MariaDB query log. No problems
there: no matter how many times I do that, I always get the full results.
I should mention that all my queries are stored procedures, in case that
matters. This all has worked perfectly on 3.1.
Any tips on what I should try next? Thanks!
More information about the Pdns-users
mailing list