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: Fix reconnection handling #6672

Merged
merged 2 commits into from May 29, 2018

Conversation

Projects
None yet
2 participants
@rgacogne
Member

rgacogne commented May 25, 2018

Short description

The first issue was that we closed the socket toward the backend if the first connection attempt failed, but tried to reconnect without reopening it, as reported by Aleš Rygl on the mailing-list 1.
The second issue is that we would close and reconnect the backend socket on some error codes even if the error was occurring on the health check socket, which is a separate one.
This PR also makes sure we don't try to reconnect from the healthcheck and responder threads at the same time, and that we don't accidentally start the same responder thread twice.

Checklist

I have:

  • read the CONTRIBUTING.md document
  • compiled this code
  • tested this code
  • included documentation (including possible behaviour changes)
  • documented the code
  • added or modified regression test(s)
  • added or modified unit test(s)

rgacogne added some commits May 22, 2018

@rgacogne rgacogne added this to the dnsdist-1.3.x milestone May 25, 2018

@rgacogne

This comment has been minimized.

Member

rgacogne commented May 28, 2018

OP confirms that the packages built from this branch are fixing the issue for him.

@pieterlexis pieterlexis merged commit b715a8e into PowerDNS:master May 29, 2018

4 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
lgtm analysis: C/C++ No alert changes
Details
lgtm analysis: JavaScript No alert changes
Details
lgtm analysis: Python No alert changes
Details

@rgacogne rgacogne deleted the rgacogne:dnsdist-reconnect-health branch May 29, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment