Skip to content

Commit 733ef31

Browse files
authored
Features BROKER_BALANCED_CONSUMER and SASL_GSSAPI don't depend on JoinGroup v0 anymore (#5131)
`JoinGroup v0` was removed in AK 4.0 and CP 8.0
1 parent df4b3ae commit 733ef31

File tree

2 files changed

+40
-9
lines changed

2 files changed

+40
-9
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ librdkafka v2.11.0 is a feature release:
66
* Fix for poll ratio calculation in case the queues are forwarded (#5017).
77
* Fix data race when buffer queues are being reset instead of being
88
initialized (#4718).
9+
* Features BROKER_BALANCED_CONSUMER and SASL_GSSAPI don't depend on
10+
JoinGroup v0 anymore, missing in AK 4.0 and CP 8.0 (#5131).
911

1012

1113
## Fixes
@@ -17,6 +19,13 @@ librdkafka v2.11.0 is a feature release:
1719
with the statistics callback in main thread gathering the buffer counts.
1820
Solved by resetting the atomic counters instead of initializing them.
1921
Happening since 1.x (#4718).
22+
* Issues: #4948
23+
Features BROKER_BALANCED_CONSUMER and SASL_GSSAPI don't depend on
24+
JoinGroup v0 anymore, missing in AK 4.0 and CP 8.0. This PR partially
25+
fixes the linked issue, a complete fix for all features will follow.
26+
Rest of fixes are necessary only for a subsequent Apache Kafka major
27+
version (e.g. AK 5.x).
28+
Happening since 1.x (#5131).
2029

2130
### Telemetry fixes
2231

src/rdkafka_feature.c

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -111,17 +111,28 @@ static const struct rd_kafka_feature_map {
111111
},
112112
},
113113
{
114-
/* @brief >=0.9.0: Broker-based balanced consumer groups. */
114+
/* @brief >=0.9.0: Broker-based balanced consumer groups (classic). */
115115
.feature = RD_KAFKA_FEATURE_BROKER_BALANCED_CONSUMER,
116116
.depends =
117117
{
118-
{RD_KAFKAP_FindCoordinator, 0, 0},
119-
{RD_KAFKAP_OffsetCommit, 1, 2},
120-
{RD_KAFKAP_OffsetFetch, 1, 1},
121-
{RD_KAFKAP_JoinGroup, 0, 0},
122-
{RD_KAFKAP_SyncGroup, 0, 0},
123-
{RD_KAFKAP_Heartbeat, 0, 0},
124-
{RD_KAFKAP_LeaveGroup, 0, 0},
118+
{RD_KAFKAP_FindCoordinator, 0, INT16_MAX},
119+
{RD_KAFKAP_OffsetCommit, 1, INT16_MAX},
120+
{RD_KAFKAP_OffsetFetch, 1, INT16_MAX},
121+
{RD_KAFKAP_JoinGroup, 0, INT16_MAX},
122+
{RD_KAFKAP_SyncGroup, 0, INT16_MAX},
123+
{RD_KAFKAP_Heartbeat, 0, INT16_MAX},
124+
{RD_KAFKAP_LeaveGroup, 0, INT16_MAX},
125+
{-1},
126+
},
127+
},
128+
{
129+
/* @brief Broker-based balanced consumer groups (KIP 848). */
130+
.feature = RD_KAFKA_FEATURE_BROKER_BALANCED_CONSUMER,
131+
.depends =
132+
{
133+
{RD_KAFKAP_ConsumerGroupHeartbeat, 0, INT16_MAX},
134+
{RD_KAFKAP_OffsetCommit, 9, INT16_MAX},
135+
{RD_KAFKAP_OffsetFetch, 9, INT16_MAX},
125136
{-1},
126137
},
127138
},
@@ -145,7 +156,18 @@ static const struct rd_kafka_feature_map {
145156
.feature = RD_KAFKA_FEATURE_SASL_GSSAPI,
146157
.depends =
147158
{
148-
{RD_KAFKAP_JoinGroup, 0, 0},
159+
{RD_KAFKAP_JoinGroup, 0, INT16_MAX},
160+
{-1},
161+
},
162+
},
163+
{
164+
/* @brief >=0.10.0: SASL (GSSAPI) authentication.
165+
* Fallback in case JoinGroup is removed along with the
166+
* "classic" consumer group protocol. */
167+
.feature = RD_KAFKA_FEATURE_SASL_GSSAPI,
168+
.depends =
169+
{
170+
{RD_KAFKAP_SaslHandshake, 0, INT16_MAX},
149171
{-1},
150172
},
151173
},

0 commit comments

Comments
 (0)