Skip to content
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

Refactor dns lookup in BrokerConnection #1312

Merged
merged 6 commits into from
Dec 8, 2017
Merged

Refactor dns lookup in BrokerConnection #1312

merged 6 commits into from
Dec 8, 2017

Conversation

dpkp
Copy link
Owner

@dpkp dpkp commented Dec 6, 2017

Fix #1306 by refactoring dns lookup / getaddrinfo handling in BrokerConnection.
The reported failure appears to be caused when DNS lookup fails or returns no data. In this case we were caching the empty gai data and never performed another DNS lookup. This prevented the client from "discovering" the broker again when it came back online. We also were not properly handling the connection failure to support reconnect backoff timers.

@dpkp dpkp requested a review from zackdever December 6, 2017 18:53
kafka/conn.py Outdated
self._gai = dns_lookup(self._init_host, self._init_port, self._init_afi)
if not self._gai:
log.error('DNS lookup failed for {0}:{1} ({2})'
.format(self._init_host, self._init_port, self._init_afi))
Copy link
Collaborator

@jeffwidman jeffwidman Dec 6, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should probably be:

log.error('DNS lookup failed for %s:%i (%s)', self._init_host, self._init_port, self._init_afi)

@dpkp dpkp changed the title Clear cached getaddrinfo dns information after all fail Refactor dns lookup in BrokerConnection Dec 7, 2017
@jeffwidman
Copy link
Collaborator

jeffwidman commented Dec 7, 2017

This looks good to me. Do you mind squashing some of the cleanup commits like 01c34c5, a52ddb7, and e977863 before merging? I do enough spelunking in the git history that having those minor cleanups included as part of the relevant commit makes my future life much easier.

@dpkp
Copy link
Owner Author

dpkp commented Dec 7, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants