<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/kafka-python.git/kafka/client_async.py, branch send_first_poll</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>Send pending requests before waiting for responses</title>
<updated>2019-03-22T16:05:58+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2019-03-22T16:05:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=0cbb7be7f349913718fe6b0be751320fc2b49e41'/>
<id>0cbb7be7f349913718fe6b0be751320fc2b49e41</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Maintain shadow cluster metadata for bootstrapping (#1753)</title>
<updated>2019-03-22T04:03:42+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2019-03-22T04:03:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=af2dd48de338cac07b88805b8f2b23ee2e694502'/>
<id>af2dd48de338cac07b88805b8f2b23ee2e694502</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow configuration of SSL Ciphers (#1755)</title>
<updated>2019-03-22T03:44:41+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2019-03-22T03:44:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=0bc751832cfeaeef767251b8556fbf00c803896d'/>
<id>0bc751832cfeaeef767251b8556fbf00c803896d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Retry bootstrapping after backoff when necessary (#1736)</title>
<updated>2019-03-14T16:39:28+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2019-03-14T16:39:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=812de351f75beefe73bd9bef55847ab61ccc951d'/>
<id>812de351f75beefe73bd9bef55847ab61ccc951d</id>
<content type='text'>
The current client attempts to bootstrap once during initialization, but if it fails there is no second attempt and the client will be inoperable. This can happen, for example, if an entire cluster is down at the time a long-running client starts execution.

This commit attempts to fix this by removing the synchronous bootstrapping from `KafkaClient` init, and instead merges bootstrap metadata with the cluster metadata. The Java client uses a similar approach. This allows us to continue falling back to bootstrap data when necessary throughout the life of a long-running consumer or producer.

Fix #1670</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current client attempts to bootstrap once during initialization, but if it fails there is no second attempt and the client will be inoperable. This can happen, for example, if an entire cluster is down at the time a long-running client starts execution.

This commit attempts to fix this by removing the synchronous bootstrapping from `KafkaClient` init, and instead merges bootstrap metadata with the cluster metadata. The Java client uses a similar approach. This allows us to continue falling back to bootstrap data when necessary throughout the life of a long-running consumer or producer.

Fix #1670</pre>
</div>
</content>
</entry>
<entry>
<title>Minor updates to client_async.py</title>
<updated>2019-03-14T05:18:19+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2019-03-14T04:48:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=5d7a5fc2a3795274a328343cb638397421dcfdfb'/>
<id>5d7a5fc2a3795274a328343cb638397421dcfdfb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Recheck connecting nodes sooner when refreshing metadata (#1737)</title>
<updated>2019-03-14T04:38:28+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2019-03-14T04:38:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=302b30c7c9f911ce8ec948926021d3fdf16cbedc'/>
<id>302b30c7c9f911ce8ec948926021d3fdf16cbedc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Do network connections and writes in KafkaClient.poll() (#1729)</title>
<updated>2019-03-08T16:01:48+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2019-03-08T16:01:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=8c0792581d8a38822c01b40f5d3926c659b0c439'/>
<id>8c0792581d8a38822c01b40f5d3926c659b0c439</id>
<content type='text'>
* Add BrokerConnection.send_pending_requests to support async network sends
* Send network requests during KafkaClient.poll() rather than in KafkaClient.send()
* Dont acquire lock during KafkaClient.send if node is connected / ready
* Move all network connection IO into KafkaClient.poll()</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add BrokerConnection.send_pending_requests to support async network sends
* Send network requests during KafkaClient.poll() rather than in KafkaClient.send()
* Dont acquire lock during KafkaClient.send if node is connected / ready
* Move all network connection IO into KafkaClient.poll()</pre>
</div>
</content>
</entry>
<entry>
<title>Do not require client lock for read-only operations (#1730)</title>
<updated>2019-03-07T03:11:23+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2019-03-07T03:11:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=7a99013668b798aaa0acffcf382a7e48e7bd41c1'/>
<id>7a99013668b798aaa0acffcf382a7e48e7bd41c1</id>
<content type='text'>
In an effort to reduce the surface area of lock coordination, and thereby hopefully reduce lock contention, I think we can remove locking from the read-only KafkaClient methods: connected, is_disconnected, in_flight_request_count, and least_loaded_node . Given that the read data could change after the lock is released but before the caller uses it, the value of acquiring a lock here does not seem high to me.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In an effort to reduce the surface area of lock coordination, and thereby hopefully reduce lock contention, I think we can remove locking from the read-only KafkaClient methods: connected, is_disconnected, in_flight_request_count, and least_loaded_node . Given that the read data could change after the lock is released but before the caller uses it, the value of acquiring a lock here does not seem high to me.</pre>
</div>
</content>
</entry>
<entry>
<title>Break KafkaClient poll if closed</title>
<updated>2018-11-20T16:20:17+00:00</updated>
<author>
<name>Dana Powers</name>
<email>dana.powers@gmail.com</email>
</author>
<published>2018-11-20T16:20:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=2c77c8d73c3bb81011b3440b1f0308fd48d0e627'/>
<id>2c77c8d73c3bb81011b3440b1f0308fd48d0e627</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Be explicit with tuples for %s formatting</title>
<updated>2018-11-18T08:21:18+00:00</updated>
<author>
<name>Jeff Widman</name>
<email>jeff@jeffwidman.com</email>
</author>
<published>2018-11-13T19:57:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/kafka-python.git/commit/?id=1d443638e22c2d360086b8d7cee8b5d930741d12'/>
<id>1d443638e22c2d360086b8d7cee8b5d930741d12</id>
<content type='text'>
Fix #1633
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix #1633
</pre>
</div>
</content>
</entry>
</feed>
