<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/kafka-python.git/kafka/client_async.py, branch initial_metadata_snapshot</title>
<subtitle>github.com: mumrah/kafka-python.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/'/>
<entry>
<title>KIP-144: Exponential backoff for broker reconnections (#1124)</title>
<updated>2017-06-19T17:16:02+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2017-06-19T17:16:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=b1cc966439a65f8be1b3973b16753dfba2b51c37'/>
<id>b1cc966439a65f8be1b3973b16753dfba2b51c37</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixup for #1085 -- only check for changed metadata on disconnected nodes</title>
<updated>2017-06-19T06:18:41+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2017-06-19T06:18:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=bbbac3dc3678df069ef72ecfea62d435bc519a07'/>
<id>bbbac3dc3678df069ef72ecfea62d435bc519a07</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Deal with brokers that disappear, reappear with different IP address (#1085)</title>
<updated>2017-06-19T06:17:31+00:00</updated>
<author>
<name>Mike Fischer</name>
<email>mike@originstech.com</email>
</author>
<published>2017-04-24T05:24:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=2a41fa1fe4cee892604786f460e916dc0d96378f'/>
<id>2a41fa1fe4cee892604786f460e916dc0d96378f</id>
<content type='text'>
When KafkaClient connects to a broker in _maybe_connect,
it inserts into self._conns a BrokerConnection configured
with the current host/port for that node.  The BrokerConnection
remains there forever, though, so if the broker's IP or host
ever changes, KafkaClient has no way to deal with this.

The fix is to compare the latest metadata with the current
node's connection, and if the host/IP has changed, decommission
the old connection and allow a new one to be created.

There's also a common race condition on broker startup where
the initial metadata request sometimes returns an empty list
of brokers, but subsequent requests behave normally.  So, we
must deal with broker being None here.  This change is conservative
in that it doesn't remove the connection from self._conns unless
the new broker metadata contains an entry for that same node
with a new IP/port.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When KafkaClient connects to a broker in _maybe_connect,
it inserts into self._conns a BrokerConnection configured
with the current host/port for that node.  The BrokerConnection
remains there forever, though, so if the broker's IP or host
ever changes, KafkaClient has no way to deal with this.

The fix is to compare the latest metadata with the current
node's connection, and if the host/IP has changed, decommission
the old connection and allow a new one to be created.

There's also a common race condition on broker startup where
the initial metadata request sometimes returns an empty list
of brokers, but subsequent requests behave normally.  So, we
must deal with broker being None here.  This change is conservative
in that it doesn't remove the connection from self._conns unless
the new broker metadata contains an entry for that same node
with a new IP/port.
</pre>
</div>
</content>
</entry>
<entry>
<title>Timeout idle connections via connections_max_idle_ms (#1068)</title>
<updated>2017-04-10T17:06:46+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2017-04-10T17:06:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=04296994defcbf1c6dd9d1bae802af94bc11d74f'/>
<id>04296994defcbf1c6dd9d1bae802af94bc11d74f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid multiple connection attempts when refreshing metadata (#1067)</title>
<updated>2017-04-06T06:13:02+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2017-04-06T06:13:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=7c24135eaf1db95c50c5d340cd15cbfc2674c927'/>
<id>7c24135eaf1db95c50c5d340cd15cbfc2674c927</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Catch socket.errors when sending / recving bytes on wake socketpair (#1069)</title>
<updated>2017-04-05T17:11:21+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2017-04-05T17:11:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=bb9642f04c25b925b7b24f36540bd66059d4c424'/>
<id>bb9642f04c25b925b7b24f36540bd66059d4c424</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix poll() hyperlink in KafkaClient</title>
<updated>2017-03-30T00:35:09+00:00</updated>
<author>
<name>Jeff Widman</name>
<email>jeff@jeffwidman.com</email>
</author>
<published>2017-03-29T21:17:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=d40d106c7327a842ab393fb86d1be0048b0a83ba'/>
<id>d40d106c7327a842ab393fb86d1be0048b0a83ba</id>
<content type='text'>
Previously Sphinx was auto-linking to `poll()` in `KafkaConsumer`, so made the link explicit.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously Sphinx was auto-linking to `poll()` in `KafkaConsumer`, so made the link explicit.</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typo (#1054)</title>
<updated>2017-03-27T19:40:30+00:00</updated>
<author>
<name>Jeff Widman</name>
<email>jeff@jeffwidman.com</email>
</author>
<published>2017-03-27T19:40:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=bee0bbe3af7f35327fe9127a96b7481a2d71945c'/>
<id>bee0bbe3af7f35327fe9127a96b7481a2d71945c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Derive all api classes from Request / Response base classes (#1030)</title>
<updated>2017-03-14T20:34:37+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2017-03-14T20:34:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=65ba8822b10e6f8a3ba4e9a6b0a1e6f9b785c18e'/>
<id>65ba8822b10e6f8a3ba4e9a6b0a1e6f9b785c18e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add optional kwarg to ready and is_ready to disable metadata-priority logic (#1017)</title>
<updated>2017-03-09T06:53:31+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2017-03-09T06:53:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=218a9014b749e52a2b8d40da6e3443c8132b8fa1'/>
<id>218a9014b749e52a2b8d40da6e3443c8132b8fa1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
