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

rec: Add a new max-udp-queries-per-round setting #6518

Merged
merged 2 commits into from May 24, 2018

Conversation

Projects
None yet
2 participants
@rgacogne
Member

rgacogne commented Apr 19, 2018

Short description

This new setting limits the number of UDP queries we attempt to handle after being woken up by the multiplexer and before returning back to process other events.
Before this, we could end up trying to process queries after queries and almost never return from handleNewUDPQuestion() to process new events, meaning we could eventually end up never scheduling new mthreads or handle responses from authoritative servers for a long time, only sending responses for packetcache hits and creating new mthreads.

This would also make rec_control seem unresponsive and return with:

Fatal: Timeout waiting for answer from control channel

Checklist

I have:

  • read the CONTRIBUTING.md document
  • compiled and tested this code
  • included documentation (including possible behaviour changes)
  • documented the code
  • added or modified regression test(s)
  • added or modified unit test(s)
rec: Add a new max-udp-queries-per-round setting
This new setting limits the number of UDP queries we attempt to
handle after being woken up by the multiplexer and before returning
back to process other events.
Before this, we could end up trying to process queries after queries
and almost never return from handleNewUDPQuestion() to process new
events, meaning we could eventually end up never scheduling new
mthreads or handle responses from authoritative servers for a long
time, only sending responses for packetcache hits and creating new
mthreads.
@pieterlexis

This comment has been minimized.

Show comment
Hide comment
@pieterlexis

pieterlexis Apr 25, 2018

Member

Could you add some words on what a "round" is in this context?

Member

pieterlexis commented Apr 25, 2018

Could you add some words on what a "round" is in this context?

@pieterlexis pieterlexis merged commit 8a54a12 into PowerDNS:master May 24, 2018

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@rgacogne rgacogne deleted the rgacogne:rec-max-udp-queries-per-round branch May 24, 2018

pieterlexis added a commit to pieterlexis/pdns that referenced this pull request Aug 20, 2018

pieterlexis added a commit to pieterlexis/pdns that referenced this pull request Aug 20, 2018

pieterlexis added a commit to pieterlexis/pdns that referenced this pull request Aug 21, 2018

@pieterlexis pieterlexis referenced this pull request Aug 21, 2018

Merged

Recursor 4.1.4 backports #6867

4 of 8 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment