-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PowerDNS can't work with large initialization of zone #8
Comments
Hrm. I'm guessing there's a limit to the request/payload size that's being hit here. It'll likely require some sort of batching of creates similar to some of the other providers. |
Hi @XooR. Finally got a few minutes to sit down and try and reproduce this (took me a bit to get a local pdns server going 😁) I wasn't able to hit this problem: I tried with 500, 1500, and 5000 records all of which worked. Any chance you have a proxy server in front of PowerDNS? Perhaps it has a max request limit or something, thought not sure how that'd be a 500. You might try turning pdns's |
I don't have any proxy for pdns API. In PowerDNS log I get (
requests debug log:
Also pip list from my virtualenv:
UPDATE: I also have installed pdns 4.1.0 version on CentOS 7 with Postgres backend. I can make Ansible playbooks for test setup if that would help. |
Fwiw, the version of powerdns i'm using is 4.0.4 backed by mysql, it was just the version that the docker container I found relied on. This is starting to 👃 more like a pdns bug than hitting some sort of max request size. I'll poke around and see if I can get my container to use 4.1.0 to see if that makes a difference. If the difference is mysql vs postgres then it'll almost certainly be a pdns issue. |
I'll try it out and will let you know what happens. I have already automated setup, so I can test easily. |
It looks that 4.1.0 version put limit in webapi requests because when I installed PowerDNS Auth with mysql backend it still failed. With version 4.0.4 it doesn't fail. |
👍. Cool. I kind of expect it to be a bug more than a limit as if it was an intentional limit I'd imagine they'd use a different status code and print a specific error about the problem. Either way pdns is the place to look at this point. Depending on what we find we can look at a setting a batch size-limit if necessary. Feel free to CC me if you end up filling issues there and we can link this up to them if so. |
FWIW it seems like powerdns updated it's underlying http library. The update included changes like support for multipart which likely has an impact on large requests like this. I don't see any substantive changes in the webserver that might be applicable to this issue. |
Just ran into this myself; trying to repopulate a new pdns installation results in failure. The workaround that seems to work for me is to create the new zone using only one or two records, and then load the rest of the zone in bulk. |
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 7 days. |
Problem is when you have around 500 entries and need to create new zone from configuration. Then I get response 500 from PowerDNS webserver:
I added some debug info to figure out why this is happening:
If I comment out most of entries (leave only 1 entry) then it passes and in second pass with all entries commented out it works OK. I guess this have something with PowerDNS webserver but I didn't found way to increase some limits in API.
You can reproduce problem with generating file:
Use configuration:
I didn't found any error in PowerDNS except:
The text was updated successfully, but these errors were encountered: