Skip to content

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
Contributor

@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
Contributor

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