Hi Sean, Thanks for the KIP! I have a some comments and questions:
dj01: In the proposed changes section, you state that the timestamp of the last assignment is not persisted. How do you plan to bookkeep it if it is not stored with the assignment? Intuitively, I would add a timestamp to the assignment record. dj02: I wonder whether we should also add a "thread idle ratio" metric for the group coordinator executor. What do you think? dj03: If the executor is not used by the share coordinator, it should not expose any metrics about it. Is it possible to remove them? dj04: Is having one group coordinator executor thread sufficient by default for common workloads? dj05: It seems you propose enabling the minimum assignor interval with a default of 5 seconds. However, the offloading is not enabled by default. Is the first one enough to guarantee the stability of the group coordinator? How do you foresee enabling the second one in the future? It would be great if you could address this in the KIP. We need a clear motivation for changing the default behavior and a plan for the future. dj06: Based on its description, I wonder whether ` consumer.min.assignor.interval.ms` should be called ` consumer.min.assignment.interval.ms`. What do you think? dj07: It is not possible to enable/disable the offloading at the group level. This makes sense to me but it would be great to explain the rationale for it in the KIP. Cheers, David On Tue, Jan 6, 2026 at 4:23 PM Sean Quah via dev <[email protected]> wrote: > Hi all, > > I would like to start a discussion for KIP-1263. Under the new consumer, > share and streams protocols (KIP-848, KIP-932, KIP-1071) we calculate > assignments on the broker whereas previously we used to calculate > assignments on clients under the old classic protocol. The assignment > calculation can get expensive for large groups and impact group coordinator > performance. The KIP aims to reduce the impact of slow assignor runs > through two methods: enforcing a minimum interval between assignment > updates and moving the assignment calculation to a separate thread pool. > > KIP: > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-1263%3A+Group+Coordinator+Assignment+Batching+and+Offload > > Best regards, > Sean >
