-
Notifications
You must be signed in to change notification settings - Fork 907
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
dnsdist: Refactoring of the configuration #14367
Conversation
Pull Request Test Coverage Report for Build 9641535906Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
Pull Request Test Coverage Report for Build 9644584400Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
Pull Request Test Coverage Report for Build 9647114721Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do have some remarks on the naming and I did not review all individual commits, but I love the general approach.
Pull Request Test Coverage Report for Build 9662968350Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
884be8d
to
5586cb2
Compare
Rebased to fix a conflict. |
Pull Request Test Coverage Report for Build 9805982772Details
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As said before, I love this. I did not do a comprehensive review of all commits. But the general approach is much better than the existing code, potential bugs should be spotted and fixed easily. Probably going to steal this approach for recursor at some point.
Getting rid of the ugly DNSQuestion stubs in the meantime.
5586cb2
to
38999fd
Compare
Pull Request Test Coverage Report for Build 9937324296Details
💛 - Coveralls |
I think the time has come to merge this:
|
Short description
This is a big pull request, better reviewed commit by commit!
The gist of this work is to refactor the way dnsdist's configuration is structured: instead of having a myriad of global variables holding the configuration items at runtime, we now have two configuration structure holding them:
thread_local
reference-counted copy of the configuration. Initial testing did not show any performance impact.The new structures disentangle a bit the different parts of the dnsdist code-base, but there is significant room for improvement there.
This paves the way to the next step, which is to support a
YAML
configuration format in addition to the existingLua
one. Later we should also be able to dump the current running configuration in the newYAML
format, making it easy to convert from an existingLua
configuration, but to be clear there is no plan to get rid of theLua
configuration format.Checklist
I have: