1.
|
Automated protocol should support namespace |
|
Open |
David Jacot
|
|
2.
|
Add new `group-coordinator` module |
|
Resolved |
David Jacot
|
|
3.
|
Introduce `GroupCoordinator` interface |
|
Resolved |
David Jacot
|
|
4.
|
Add ConsumerGroupHeartbeat API |
|
Resolved |
David Jacot
|
|
5.
|
The Kafka protocol should support nullable structs |
|
Resolved |
David Jacot
|
|
6.
|
New Group Coordinator State Machine |
|
Resolved |
David Jacot
|
|
7.
|
Implement OffsetFetch/OffsetCommit APIs |
|
Resolved |
David Jacot
|
|
8.
|
Implement JoinGroup/SyncGroup APIs |
|
Resolved |
Jeff Kim
|
|
9.
|
Implement Heartbeat API |
|
Resolved |
Jeff Kim
|
|
10.
|
Implement LeaveGroup API |
|
Resolved |
Jeff Kim
|
|
11.
|
Implement ListGroups |
|
Resolved |
HaiyuanZhao
|
|
12.
|
Implement DescribeGroups API |
|
Resolved |
Dongnuo Lyu
|
|
13.
|
Implement TnxOffsetCommit API |
|
Resolved |
David Jacot
|
|
14.
|
Implement DeleteGroups API and OffsetDelete API |
|
Resolved |
Dongnuo Lyu
|
|
15.
|
Add ConsumerGroupDescribe API |
|
Resolved |
Max Riedel
|
|
16.
|
Extend DescribeConfigs API to support group configs |
|
Resolved |
Lan Ding
|
|
17.
|
Extend AlterIncrementalConfigs API to support group config |
|
Resolved |
Lan Ding
|
|
18.
|
Add broker side PartitionAssignor interface |
|
Resolved |
David Jacot
|
|
19.
|
Implement range broker side assignor |
|
Resolved |
Ritika Reddy
|
|
20.
|
Implement optimized uniform broker side assignor |
|
Resolved |
Ritika Reddy
|
|
21.
|
Implement static membeship |
|
Resolved |
Sagar Rao
|
|
22.
|
Implement regex subscriptions |
|
Resolved |
Lianet Magrans
|
|
23.
|
Rebalance on topic/partition metadata changes |
|
Resolved |
David Jacot
|
|
24.
|
Add metrics to the new coordinator |
|
Resolved |
Jeff Kim
|
|
25.
|
Add high watermark listener to Partition/Log layers |
|
Resolved |
David Jacot
|
|
26.
|
Move __consumer_offsets records from core to group-coordinator |
|
Resolved |
David Jacot
|
|
27.
|
Add new __consumer_offsets records |
|
Resolved |
David Jacot
|
|
28.
|
More broker side partition assignor to common |
|
Resolved |
David Jacot
|
|
29.
|
Extend server side assignor to support rack aware replica placement |
|
Resolved |
Ritika Reddy
|
|
30.
|
Add ConsumerGroupHeartbeat API to AuthorizerIntegrationTest |
|
Resolved |
Lan Ding
|
|
31.
|
Add ACL Authorizer integration test for authorized OffsetCommits with an unknown topic |
|
Resolved |
Alexandre Dupriez
|
|
32.
|
Propagate Topic Ids to the Group Coordinator during Offsets Commit |
|
Resolved |
Alexandre Dupriez
|
|
33.
|
Propagate Topic Ids to the Group Coordinator for Offset Fetch |
|
Resolved |
Alexandre Dupriez
|
|
34.
|
Refactor ApiMessageAndVersion/Record |
|
Resolved |
David Jacot
|
|
35.
|
Validate that all partitions are assigned in TargetAssignmentBuilder |
|
Resolved |
Unassigned
|
|
36.
|
Implement Group/Offset expiration |
|
Resolved |
Jeff Kim
|
|
37.
|
CoordinatorPartitionWriter should reuse buffer |
|
Resolved |
David Jacot
|
|
38.
|
Consolidate all the group coordinator configs |
|
Resolved |
Unassigned
|
|
39.
|
Define constants for record types |
|
Resolved |
Unassigned
|
|
40.
|
Implement write operation timeout |
|
Resolved |
Sagar Rao
|
|
41.
|
CoordinatorContext should be protected by a lock |
|
Resolved |
David Jacot
|
|
42.
|
Consider replacing Subscription Metadata by a hash |
|
Resolved |
David Jacot
|
|
43.
|
Add support for OffsetCommit version 9 in admin client |
|
Resolved |
Sagar Rao
|
|
44.
|
Add support for OffsetCommit version 9 in consumer |
|
Resolved |
Lianet Magrans
|
|
45.
|
Add support for OffsetFetch version 9 in consumer |
|
Resolved |
Lianet Magrans
|
|
46.
|
Add support for OffsetFetch version 9 in admin |
|
Resolved |
Sagar Rao
|
|
47.
|
Add group type filter to ListGroups API |
|
Resolved |
Ritika Reddy
|
|
48.
|
Add integration test for the ListGroup API |
|
Resolved |
Dongnuo Lyu
|
|
49.
|
Add group type filter to the admin client |
|
Resolved |
Ritika Reddy
|
|
50.
|
Implement general uniform broker side assignor |
|
Resolved |
Ritika Reddy
|
|
51.
|
Handle heartbeat and revocation when consumer leaves group |
|
Resolved |
Unassigned
|
|
52.
|
Client consumer should commit offsets on close |
|
Resolved |
Philip Nee
|
|
53.
|
Send HB request right after reconciliation completes |
|
Resolved |
Unassigned
|
|
54.
|
Ensure HeartbeatRequestManager only send out some fields once |
|
Resolved |
Philip Nee
|
|
55.
|
Ensure coordinator node is removed upon disconnection exception |
|
Resolved |
Philip Nee
|
|
56.
|
Enable existing client integration tests for new protocol |
|
Resolved |
Andrew Schofield
|
|
57.
|
Implement client support for selecting KIP-848 server-side assignor |
|
Resolved |
Lucas Brutschy
|
|
58.
|
Implement client support for KIP-848 ConsumerGroupHeartbeat protocol RPC |
|
Resolved |
Kirk True
|
|
59.
|
Implement event plumbing for ConsumerRebalanceListener callbacks |
|
Resolved |
Kirk True
|
|
60.
|
Implement consumer group membership state machine |
|
Resolved |
Lianet Magrans
|
|
61.
|
Client should stop fetching while partitions being revoked |
|
Closed |
Lianet Magrans
|
|
62.
|
Update client state machine to align with protocol sending one assignment at a time |
|
Resolved |
Lianet Magrans
|
|
63.
|
Implement auto-commit on partition assignment revocation |
|
Closed |
Lianet Magrans
|
|
64.
|
Update states and transitions for membership manager state machine |
|
Resolved |
Lianet Magrans
|
|
65.
|
Run System Tests for Old protocol in the New Coordinator |
|
Resolved |
Ritika Reddy
|
|
66.
|
Member does not need to always try to join a group when a groupId is configured |
|
Closed |
Philip Nee
|
|
67.
|
Add integration tests for DescribeGroups API, DeleteGroups API and OffsetDelete API |
|
Resolved |
Dongnuo Lyu
|
|
68.
|
Add histogram metrics to GroupCoordinatorRuntimeMetrics |
|
Resolved |
Jeff Kim
|
|
69.
|
Refactor ConsumerRebalanceListener invocation for reuse |
|
Resolved |
Kirk True
|
|
70.
|
Do not send new heartbeat request while another one in-flight |
|
Closed |
Philip Nee
|
|
71.
|
Improve unloading logging |
|
Resolved |
Ritika Reddy
|
|
72.
|
Fix the different behavior in error handling between the old and new group coordinator |
|
Resolved |
Dongnuo Lyu
|
|
73.
|
Client support for new consumer configs |
|
Resolved |
Philip Nee
|
|
74.
|
New integration tests to have full coverage for preview |
|
Closed |
Kirk True
|
|
75.
|
Add integration tests for Heartbeat API and GroupLeave API |
|
Resolved |
Dongnuo Lyu
|
|
76.
|
Migrate existing integration tests to run old protocol in new coordinator |
|
Resolved |
Dongnuo Lyu
|
|
77.
|
Group Coordinator should not deliver new assignment before previous one is acknowledged |
|
Resolved |
David Jacot
|
|
78.
|
Implement listTopics() and partitionFor() for the AsyncKafkaConsumer |
|
Resolved |
Andrew Schofield
|
|
79.
|
Correct initialization of ConsumerGroupHeartbeat by client |
|
Closed |
Andrew Schofield
|
|
80.
|
Correct handling of KafkaConsumer.committed for new consumer |
|
Resolved |
Andrew Schofield
|
|
81.
|
Fix ListGroups API when runtime partition size is zero |
|
Resolved |
Dongnuo Lyu
|
|
82.
|
Add integration tests for JoinGroup API and SyncGroup API |
|
Resolved |
Dongnuo Lyu
|
|
83.
|
Move new group coordinator metrics from Yammer to Metrics |
|
Resolved |
Jeff Kim
|
|
84.
|
Make General Assignor's rebalance incremental |
|
Resolved |
Unassigned
|
|
85.
|
New group coordinator needs to generate snapshots while loading |
|
Resolved |
Jeff Kim
|
|
86.
|
Refactor polling delays |
|
Resolved |
Andrew Schofield
|
|
87.
|
update Group size only when groups size changes |
|
Resolved |
Jeff Kim
|
|
88.
|
Move GenericGroup state metrics to `GroupCoordinatorMetricsShard` |
|
Resolved |
Jeff Kim
|
|
89.
|
Upgrade existing generic group to consumer group |
|
Resolved |
David Jacot
|
|
90.
|
Ensure fairness in the uniform assignor |
|
Resolved |
David Jacot
|
|
91.
|
new group coordinator should check if partition goes offline during load |
|
Resolved |
Jeff Kim
|
|
92.
|
Add `group.coordinator.rebalance.protocols` and publish all new configs |
|
Resolved |
David Jacot
|
|
93.
|
Rename `Generic` to `Classic` |
|
Resolved |
David Jacot
|
|
94.
|
Trigger client reconciliation based on manager poll |
|
Resolved |
Lucas Brutschy
|
|
95.
|
Review client retry logic of OffsetFetch and OffsetCommit responses |
|
Resolved |
Lianet Magrans
|
|
96.
|
Client support for java regex based subscription |
|
Resolved |
Phuc Hong Tran
|
|
97.
|
Group commit/callbacks triggering logic |
|
Open |
Lianet Magrans
|
|
98.
|
Review consumer leave group request best effort and response handling |
|
Resolved |
Unassigned
|
|
99.
|
Review minimal effort approach on consumer last heartbeat on unsubscribe |
|
Open |
Lianet Magrans
|
|
100.
|
Review consumer onPartitionsAssigned called with empty partitions |
|
Open |
Lianet Magrans
|
|
101.
|
Topic ID integration in consumer subscription state |
|
Closed |
Lianet Magrans
|
|
102.
|
Update list group state type filter to include the states for the new consumer group type |
|
Resolved |
Lan Ding
|
|
103.
|
Handle timeouts for AsyncKafkaConsumer.commitSync |
|
Resolved |
Unassigned
|
|
104.
|
AsyncKafkaConsumer: Always await async commit callbacks in commitSync and close |
|
Resolved |
Lucas Brutschy
|
|
105.
|
group size counters do not reflect the actual sizes when operations fail |
|
Resolved |
Dongnuo Lyu
|
|
106.
|
Ensure consumer does not start fetching from added partitions until onPartitionsAssigned completes |
|
Resolved |
Lianet Magrans
|
|
107.
|
Review client errors thrown on OffsetFetch and OffsetCommit failures |
|
Resolved |
Lianet Magrans
|
|
108.
|
Add Integration test for checking if the correct assignor is chosen |
|
Resolved |
Unassigned
|
|
109.
|
Coordinator unloading fails when replica is deleted |
|
Resolved |
David Jacot
|
|
110.
|
Partition is assigned to two members at the same time |
|
Resolved |
David Jacot
|
|
111.
|
Implement GroupMetadataManager#onUnloaded |
|
Resolved |
Jeff Kim
|
|
112.
|
System test failing for new consumer on endOffsets with negative timestamps |
|
Resolved |
Philip Nee
|
|
113.
|
Consumer invalid transition on expired poll interval |
|
Resolved |
Lianet Magrans
|
|
114.
|
Implement GroupCoordinator.onPartitionsDeleted |
|
Resolved |
David Jacot
|
|
115.
|
Fix client reconciliation of same assignment received in different epochs |
|
Resolved |
Lucas Brutschy
|
|
116.
|
Extend admin to support ConsumerGroupDescribe API |
|
Resolved |
David Jacot
|
|
117.
|
Member should send full heartbeat when rejoining |
|
Resolved |
Quoc Phong Dang
|
|
118.
|
KafkaConsumer.groupMetadata() should be correct when first records are returned |
|
Closed |
Bruno Cadonna
|
|
119.
|
Consumer does not rejoin after fenced on delayed revocation |
|
Resolved |
Lianet Magrans
|
|
120.
|
Fix handling of deleted topic when auto-committing before revocation |
|
Closed |
Bruno Cadonna
|
|
121.
|
Console consumer fails with `IllegalStateException` |
|
Closed |
Bruno Cadonna
|
|
122.
|
Move code style exceptions from suppressions.xml to the code |
|
Open |
Unassigned
|
|
123.
|
Improve reconciliation state machine |
|
Resolved |
David Jacot
|
|
124.
|
Fenced member should not send heartbeats while waiting for onPartitionsLost to complete |
|
Resolved |
Lianet Magrans
|
|
125.
|
Stale member should trigger onPartitionsLost when leaving group |
|
Resolved |
Lianet Magrans
|
|
126.
|
Add group protocol migration enabling config |
|
Resolved |
Dongnuo Lyu
|
|
127.
|
Ensure user callbacks exceptions are propagated to the user on consumer poll |
|
Resolved |
Lucas Brutschy
|
|
128.
|
Classic group error responses should contain a no generation id and an empty members list |
|
Resolved |
Jeff Kim
|
|
129.
|
Review fenced member unsubscribe/subscribe callbacks interaction |
|
Open |
Quoc Phong Dang
|
|
130.
|
GroupCoordinatorService logger is not configured |
|
Resolved |
Jeff Kim
|
|
131.
|
fix EventAccumulator thread idle ratio metric |
|
Resolved |
Jeff Kim
|
|
132.
|
Offline group protocol migration |
|
Resolved |
Dongnuo Lyu
|
|
133.
|
Add event rate in GroupCoordinatorRuntimeMetrics |
|
Resolved |
Jeff Kim
|
|
134.
|
Offline protocol migration integration tests |
|
Resolved |
Dongnuo Lyu
|
|
135.
|
Full ConsumerGroupHeartbeat response must be sent when full request is received |
|
Resolved |
David Jacot
|
|
136.
|
High watermark updates should have a higher priority |
|
Resolved |
David Jacot
|
|
137.
|
Fix logic for discarding reconciliation if member rejoined |
|
Resolved |
Lianet Magrans
|
|
138.
|
Coordinator flush time and event purgatory time metrics |
|
Resolved |
Jeff Kim
|
|
139.
|
Online upgrade triggering and group type conversion |
|
Resolved |
Dongnuo Lyu
|
|
140.
|
kafka-dump-log --offsets-decoder should support new records |
|
Resolved |
David Jacot
|
|
141.
|
getOrMaybeCreateClassicGroup should not thrown GroupIdNotFoundException |
|
Resolved |
David Jacot
|
|
142.
|
Online downgrade triggering and group type conversion |
|
Resolved |
Dongnuo Lyu
|
|
143.
|
Add JMH Benchmarks for assignor performance testing |
|
Resolved |
Ritika Reddy
|
|
144.
|
Target Assignment Format Change |
|
Resolved |
Ritika Reddy
|
|
145.
|
Store subscription model for consumer group in group state |
|
Resolved |
Ritika Reddy
|
|
146.
|
JoinGroup API for upgrading ConsumerGroup |
|
Resolved |
Dongnuo Lyu
|
|
147.
|
Reverse Lookup Partition to Member in Assignors |
|
Resolved |
Ritika Reddy
|
|
148.
|
Uuid to String for subscribed topic names in assignment spec |
|
Resolved |
Jeff Kim
|
|
149.
|
CoordinatorRuntime write timer tasks should be cancelled once HWM advances |
|
Resolved |
Jeff Kim
|
|
150.
|
Re-add EventAccumulator.take(timeout) |
|
Resolved |
Jeff Kim
|
|
151.
|
Optimize toTopicPartitions with ConsumerProtocolSubscription |
|
Resolved |
Dongnuo Lyu
|
|
152.
|
Adjust classicGroupJoinToConsumerGroup to add subscription model |
|
Resolved |
Dongnuo Lyu
|
|
153.
|
Remove rack aware code in assignors temporarily due to performance |
|
Resolved |
Ritika Reddy
|
|
154.
|
SyncGroup API for upgrading ConsumerGroup |
|
Resolved |
Dongnuo Lyu
|
|
155.
|
Coalesce records into bigger batches |
|
Resolved |
David Jacot
|
|
156.
|
Heartbeat API for upgrading ConsumerGroup |
|
Resolved |
Dongnuo Lyu
|
|
157.
|
Create a new interface to store member metadata |
|
Resolved |
Ritika Reddy
|
|
158.
|
CoordinatorRuntime should initialize MemoryRecordsBuilder with max batch size write limit |
|
Resolved |
Jeff Kim
|
|
159.
|
LeaveGroup API for upgrading ConsumerGroup |
|
Resolved |
Dongnuo Lyu
|
|
160.
|
Introduce `group.version` feature flag |
|
Resolved |
David Jacot
|
|
161.
|
Copy on write in the Optimized Uniform Assignor |
|
Resolved |
David Jacot
|
|
162.
|
UniformHeterogeneousAssignmentBuilder throws NPE when member has not subscriptions |
|
Resolved |
David Jacot
|
|
163.
|
Range assignor doesn't co-partition with stickiness |
|
Resolved |
Ritika Reddy
|
|
164.
|
Fix caught-up condition |
|
Resolved |
David Jacot
|
|
165.
|
Online protocol migration integration tests |
|
Resolved |
Dongnuo Lyu
|
|
166.
|
Extend CoordinatorRuntime to support non-atomic writes |
|
Resolved |
David Jacot
|
|
167.
|
Static member using new protocol should always replace the one using the old protocol |
|
Resolved |
Dongnuo Lyu
|
|
168.
|
System tests for protocol migration |
|
Resolved |
Dongnuo Lyu
|
|
169.
|
Soften the validation when replaying tombstones |
|
Resolved |
David Jacot
|
|
170.
|
Validate and maybe trigger downgrade after static member replacement |
|
Resolved |
Dongnuo Lyu
|
|
171.
|
Use the new group coordinator by default in 4.0 |
|
Resolved |
David Jacot
|
|
172.
|
Re-introduce `group.version` feature flag |
|
Resolved |
David Jacot
|
|
173.
|
Delete kafka.common.OffsetAndMetadata |
|
Resolved |
Mickael Maison
|
|
174.
|
Factor out common setup from server-side assignor benchmarks |
|
Resolved |
Sean Quah
|
|
175.
|
Add heterogeneous configuration to TargetAssignmentBuilderBenchmark |
|
Resolved |
Sean Quah
|
|
176.
|
Revert #17219 |
|
Resolved |
David Jacot
|
|
177.
|
Remove partitionRacks from TopicMetadata |
|
Resolved |
PoAn Yang
|
|
178.
|
Reduce logging verbosity on ConsumerGroupHeartbeat path |
|
Resolved |
David Jacot
|
|
179.
|
Rework UniformHeterogeneousAssignor to improve performance |
|
Resolved |
Sean Quah
|
|
180.
|
Protocol upgrade should allow empty member assignment in group conversion |
|
Resolved |
Dongnuo Lyu
|
|
181.
|
Move static request validation from GroupMetadataManager to GroupCoordinatorService |
|
Open |
Unassigned
|
|
182.
|
Reject the upgrade if the member assignment has non empty userData |
|
Resolved |
Sean Quah
|
|
183.
|
Admin LeaveGroup fails for static consumer group member |
|
Resolved |
David Jacot
|
|
184.
|
Maybe downgrade the consumer group if a consumer member leaves the group though admin client |
|
Open |
Sean Quah
|
|
185.
|
Mark KIP-848's API & Records as stable |
|
Resolved |
David Jacot
|
|
186.
|
Handle hdr histogram exceptions gracefully |
|
Resolved |
Jeff Kim
|
|
187.
|
Admin LeaveGroup should allow removing member using consumer protocol by member id |
|
Resolved |
David Jacot
|
|
188.
|
Add ConsumerGroupRegularExpression record to dump-log tool |
|
Resolved |
David Jacot
|
|
189.
|
Add more logs to the migration path |
|
Open |
Dongnuo Lyu
|
|
190.
|
Ensure that assignors are at the right place |
|
Open |
David Jacot
|
|
191.
|
Update upgrade notes for 4.0 |
|
Open |
David Jacot
|
|
From a technical perspective, this is a very interesting and compelling proposal.
Can the KIP list be updated to include this? I've noticed the KIP list has not been updated much and there are a good few KIPs missing. Also, there is no public discussion link: has there been any public discussion on this proposal?