kafka-python v1.4.6 Release Notes
Release Date: 2019-04-02 // about 5 years ago-
1.4.6 (Apr 2, 2019)
๐ This is a patch release primarily focused on bugs related to concurrency,
โ SSL connections and testing, and SASL authentication.
Major thanks to @pt2pham , @isamaru , @braedon , @gingercookiemage , for submitting
PRs to help fix many of these issues. And major thanks to everyone that
submitted bug reports and issues. And thanks always to @jeffwidman and @tvoinarovskyi for code
โ reviews, comments, testing, debugging, and helping to maintain this project!Client Concurrency Issues (Race Conditions / Deadlocks)
- ๐ Fix race condition in
protocol.send_bytes
(isamaru / PR #1752) - ๐ Do not call
state_change_callback
with lock (dpkp / PR #1775) - โ Additional BrokerConnection locks to synchronize protocol/IFR state (dpkp / PR #1768)
- Send pending requests before waiting for responses (dpkp / PR #1762)
- Avoid race condition on
client._conns
in send() (dpkp / PR #1772) - ๐ Hold lock during
client.check_version
(dpkp / PR #1771)
Producer Wakeup / TimeoutError
- Dont wakeup during
maybe_refresh_metadata
-- it is only called by poll() (dpkp / PR #1769) - Dont do client wakeup when sending from sender thread (dpkp / PR #1761)
โ SSL - Python3.7 Support / Bootstrap Hostname Verification / Testing
- Wrap SSL sockets after connecting for python3.7 compatibility (dpkp / PR #1754)
- ๐ Allow configuration of SSL Ciphers (dpkp / PR #1755)
- ๐ Maintain shadow cluster metadata for bootstrapping (dpkp / PR #1753)
- โ Generate SSL certificates for local testing (dpkp / PR #1756)
- ๐ Rename ssl.keystore.location and ssl.truststore.location config files (dpkp)
- Reset reconnect backoff on SSL connection (dpkp / PR #1777)
๐ SASL - OAuthBearer support / api version bugfix
- ๐ Fix 0.8.2 protocol quick detection / fix SASL version check (dpkp / PR #1763)
- โก๏ธ Update sasl configuration docstrings to include supported mechanisms (dpkp)
- ๐ Support SASL OAuthBearer Authentication (pt2pham / PR #1750)
๐ Miscellaneous Bugfixes
- ๐ Dont force metadata refresh when closing unneeded bootstrap connections (dpkp / PR #1773)
- Fix possible AttributeError during conn._close_socket (dpkp / PR #1776)
- Return connection state explicitly after close in connect() (dpkp / PR #1778)
- ๐ Fix flaky conn tests that use time.time (dpkp / PR #1758)
- โ Add py to requirements-dev (dpkp)
- ๐ Fixups to benchmark scripts for py3 / new KafkaFixture interface (dpkp)
- ๐ Fix race condition in