Skip to content

Commit 0552b04

Browse files
authored
Release 1.4.7 (#1916)
1 parent 0a8884b commit 0552b04

File tree

3 files changed

+121
-7
lines changed

3 files changed

+121
-7
lines changed

CHANGES.md

+57-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,66 @@
1+
# 1.4.7 (Sep 30, 2019)
2+
3+
This is a minor release focused on KafkaConsumer performance, Admin Client
4+
improvements, and Client concurrency. The KafkaConsumer iterator implementation
5+
has been greatly simplified so that it just wraps consumer.poll(). The prior
6+
implementation will remain available for a few more releases using the optional
7+
KafkaConsumer config: `legacy_iterator=True` . This is expected to improve
8+
consumer throughput substantially and help reduce heartbeat failures / group
9+
rebalancing.
10+
11+
Client
12+
* Send socket data via non-blocking IO with send buffer (dpkp / PR #1912)
13+
* Rely on socket selector to detect completed connection attempts (dpkp / PR #1909)
14+
* Improve connection lock handling; always use context manager (melor,dpkp / PR #1895)
15+
* Reduce client poll timeout when there are no in-flight requests (dpkp / PR #1823)
16+
17+
KafkaConsumer
18+
* Do not use wakeup when sending fetch requests from consumer (dpkp / PR #1911)
19+
* Wrap `consumer.poll()` for KafkaConsumer iteration (dpkp / PR #1902)
20+
* Allow the coordinator to auto-commit on old brokers (justecorruptio / PR #1832)
21+
* Reduce internal client poll timeout for (legacy) consumer iterator interface (dpkp / PR #1824)
22+
* Use dedicated connection for group coordinator (dpkp / PR #1822)
23+
* Change coordinator lock acquisition order (dpkp / PR #1821)
24+
* Make `partitions_for_topic` a read-through cache (Baisang / PR #1781,#1809)
25+
* Fix consumer hanging indefinitely on topic deletion while rebalancing (commanderdishwasher / PR #1782)
26+
27+
Miscellaneous Bugfixes / Improvements
28+
* Fix crc32c avilability on non-intel architectures (ossdev07 / PR #1904)
29+
* Load system default SSL CAs if `ssl_cafile` is not provided (iAnomaly / PR #1883)
30+
* Catch py3 TimeoutError in BrokerConnection send/recv (dpkp / PR #1820)
31+
* Added a function to determine if bootstrap is successfully connected (Wayde2014 / PR #1876)
32+
33+
Admin Client
34+
* Add ACL api support to KafkaAdminClient (ulrikjohansson / PR #1833)
35+
* Add `sasl_kerberos_domain_name` config to KafkaAdminClient (jeffwidman / PR #1852)
36+
* Update `security_protocol` config documentation for KafkaAdminClient (cardy31 / PR #1849)
37+
* Break FindCoordinator into request/response methods in KafkaAdminClient (jeffwidman / PR #1871)
38+
* Break consumer operations into request / response methods in KafkaAdminClient (jeffwidman / PR #1845)
39+
* Parallelize calls to `_send_request_to_node()` in KafkaAdminClient (davidheitman / PR #1807)
40+
41+
Test Infrastructure / Documentation / Maintenance
42+
* Add Kafka 2.3.0 to test matrix and compatibility docs (dpkp / PR #1915)
43+
* Convert remaining `KafkaConsumer` tests to `pytest` (jeffwidman / PR #1886)
44+
* Bump integration tests to 0.10.2.2 and 0.11.0.3 (jeffwidman / #1890)
45+
* Cleanup handling of `KAFKA_VERSION` env var in tests (jeffwidman / PR #1887)
46+
* Minor test cleanup (jeffwidman / PR #1885)
47+
* Use `socket.SOCK_STREAM` in test assertions (iv-m / PR #1879)
48+
* Sanity test for `consumer.topics()` and `consumer.partitions_for_topic()` (Baisang / PR #1829)
49+
* Cleanup seconds conversion in client poll timeout calculation (jeffwidman / PR #1825)
50+
* Remove unused imports (jeffwidman / PR #1808)
51+
* Cleanup python nits in RangePartitionAssignor (jeffwidman / PR #1805)
52+
* Update links to kafka consumer config docs (jeffwidman)
53+
* Fix minor documentation typos (carsonip / PR #1865)
54+
* Remove unused/weird comment line (jeffwidman / PR #1813)
55+
* Update docs for `api_version_auto_timeout_ms` (jeffwidman / PR #1812)
56+
57+
158
# 1.4.6 (Apr 2, 2019)
259

360
This is a patch release primarily focused on bugs related to concurrency,
461
SSL connections and testing, and SASL authentication:
562

6-
763
Client Concurrency Issues (Race Conditions / Deadlocks)
8-
964
* Fix race condition in `protocol.send_bytes` (isamaru / PR #1752)
1065
* Do not call `state_change_callback` with lock (dpkp / PR #1775)
1166
* Additional BrokerConnection locks to synchronize protocol/IFR state (dpkp / PR #1768)
@@ -14,12 +69,10 @@ Client Concurrency Issues (Race Conditions / Deadlocks)
1469
* Hold lock during `client.check_version` (dpkp / PR #1771)
1570

1671
Producer Wakeup / TimeoutError
17-
1872
* Dont wakeup during `maybe_refresh_metadata` -- it is only called by poll() (dpkp / PR #1769)
1973
* Dont do client wakeup when sending from sender thread (dpkp / PR #1761)
2074

2175
SSL - Python3.7 Support / Bootstrap Hostname Verification / Testing
22-
2376
* Wrap SSL sockets after connecting for python3.7 compatibility (dpkp / PR #1754)
2477
* Allow configuration of SSL Ciphers (dpkp / PR #1755)
2578
* Maintain shadow cluster metadata for bootstrapping (dpkp / PR #1753)
@@ -28,13 +81,11 @@ SSL - Python3.7 Support / Bootstrap Hostname Verification / Testing
2881
* Reset reconnect backoff on SSL connection (dpkp / PR #1777)
2982

3083
SASL - OAuthBearer support / api version bugfix
31-
3284
* Fix 0.8.2 protocol quick detection / fix SASL version check (dpkp / PR #1763)
3385
* Update sasl configuration docstrings to include supported mechanisms (dpkp)
3486
* Support SASL OAuthBearer Authentication (pt2pham / PR #1750)
3587

3688
Miscellaneous Bugfixes
37-
3889
* Dont force metadata refresh when closing unneeded bootstrap connections (dpkp / PR #1773)
3990
* Fix possible AttributeError during conn._close_socket (dpkp / PR #1776)
4091
* Return connection state explicitly after close in connect() (dpkp / PR #1778)

docs/changelog.rst

+63
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,69 @@ Changelog
22
=========
33

44

5+
1.4.7 (Sep 30, 2019)
6+
####################
7+
8+
This is a minor release focused on KafkaConsumer performance, Admin Client
9+
improvements, and Client concurrency. The KafkaConsumer iterator implementation
10+
has been greatly simplified so that it just wraps consumer.poll(). The prior
11+
implementation will remain available for a few more releases using the optional
12+
KafkaConsumer config: `legacy_iterator=True` . This is expected to improve
13+
consumer throughput substantially and help reduce heartbeat failures / group
14+
rebalancing.
15+
16+
Client
17+
------
18+
* Send socket data via non-blocking IO with send buffer (dpkp / PR #1912)
19+
* Rely on socket selector to detect completed connection attempts (dpkp / PR #1909)
20+
* Improve connection lock handling; always use context manager (melor,dpkp / PR #1895)
21+
* Reduce client poll timeout when there are no in-flight requests (dpkp / PR #1823)
22+
23+
KafkaConsumer
24+
-------------
25+
* Do not use wakeup when sending fetch requests from consumer (dpkp / PR #1911)
26+
* Wrap `consumer.poll()` for KafkaConsumer iteration (dpkp / PR #1902)
27+
* Allow the coordinator to auto-commit on old brokers (justecorruptio / PR #1832)
28+
* Reduce internal client poll timeout for (legacy) consumer iterator interface (dpkp / PR #1824)
29+
* Use dedicated connection for group coordinator (dpkp / PR #1822)
30+
* Change coordinator lock acquisition order (dpkp / PR #1821)
31+
* Make `partitions_for_topic` a read-through cache (Baisang / PR #1781,#1809)
32+
* Fix consumer hanging indefinitely on topic deletion while rebalancing (commanderdishwasher / PR #1782)
33+
34+
Miscellaneous Bugfixes / Improvements
35+
-------------------------------------
36+
* Fix crc32c avilability on non-intel architectures (ossdev07 / PR #1904)
37+
* Load system default SSL CAs if `ssl_cafile` is not provided (iAnomaly / PR #1883)
38+
* Catch py3 TimeoutError in BrokerConnection send/recv (dpkp / PR #1820)
39+
* Added a function to determine if bootstrap is successfully connected (Wayde2014 / PR #1876)
40+
41+
Admin Client
42+
------------
43+
* Add ACL api support to KafkaAdminClient (ulrikjohansson / PR #1833)
44+
* Add `sasl_kerberos_domain_name` config to KafkaAdminClient (jeffwidman / PR #1852)
45+
* Update `security_protocol` config documentation for KafkaAdminClient (cardy31 / PR #1849)
46+
* Break FindCoordinator into request/response methods in KafkaAdminClient (jeffwidman / PR #1871)
47+
* Break consumer operations into request / response methods in KafkaAdminClient (jeffwidman / PR #1845)
48+
* Parallelize calls to `_send_request_to_node()` in KafkaAdminClient (davidheitman / PR #1807)
49+
50+
Test Infrastructure / Documentation / Maintenance
51+
-------------------------------------------------
52+
* Add Kafka 2.3.0 to test matrix and compatibility docs (dpkp / PR #1915)
53+
* Convert remaining `KafkaConsumer` tests to `pytest` (jeffwidman / PR #1886)
54+
* Bump integration tests to 0.10.2.2 and 0.11.0.3 (jeffwidman / #1890)
55+
* Cleanup handling of `KAFKA_VERSION` env var in tests (jeffwidman / PR #1887)
56+
* Minor test cleanup (jeffwidman / PR #1885)
57+
* Use `socket.SOCK_STREAM` in test assertions (iv-m / PR #1879)
58+
* Sanity test for `consumer.topics()` and `consumer.partitions_for_topic()` (Baisang / PR #1829)
59+
* Cleanup seconds conversion in client poll timeout calculation (jeffwidman / PR #1825)
60+
* Remove unused imports (jeffwidman / PR #1808)
61+
* Cleanup python nits in RangePartitionAssignor (jeffwidman / PR #1805)
62+
* Update links to kafka consumer config docs (jeffwidman)
63+
* Fix minor documentation typos (carsonip / PR #1865)
64+
* Remove unused/weird comment line (jeffwidman / PR #1813)
65+
* Update docs for `api_version_auto_timeout_ms` (jeffwidman / PR #1812)
66+
67+
568
1.4.6 (Apr 2, 2019)
669
###################
770

kafka/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '1.4.7.dev'
1+
__version__ = '1.4.7'

0 commit comments

Comments
 (0)