> did not focus on it. If we want this, we should probably write a > separate KIP and have a separate discussion.
I've opened https://issues.apache.org/jira/browse/KAFKA-20191 On 2026/02/16 09:57:17 Lucas Brutschy via dev wrote: > Hi all, > > @Chia: That's an excellent point. I'll amend the KIP like this: > > "Where, for simplicity, we can assume the assignment epoch of a > partition that is not assigned to that member to be the broker-side > member epoch." > > This should make the new validation behave like the old validation in > this corner case. Overall, we'll get a weaker validation than the > current validation. Adding new guard-rails to prevent committing to > unassigned partitions or even unsubscribed topics makes sense to me, > but this wasn't really the motivation for this KIP and the discussion > did not focus on it. If we want this, we should probably write a > separate KIP and have a separate discussion. > > @Sean: Yes, self-assigned commits will not have a member epoch so the > validation described in the KIP will not affect this logic. I can add > a clarification to the KIP. > > Cheers, > Lucas > > On Mon, Feb 16, 2026 at 9:42 AM Sean Quah via dev <[email protected]> > wrote: > > > > > You cannot commit partitions that are not assigned to you. > > > > Don't we have to continue supporting clients that assign() themselves > > partitions manually? I don't think the broker is aware of manual > > assignments. > > > > Thanks, > > Sean > > > > On Mon, Feb 16, 2026 at 2:17 AM Chia-Ping Tsai <[email protected]> wrote: > > > > > > You cannot commit partitions that are not assigned to you. > > > > > > Thanks for the clarification. That sounds good to me, but this new > > > protection implies a change to the existing behavior. Therefore, it would > > > be good to explicitly mention this in the KIP > > > > > > For example, the following sendOffsetsToTransaction can succeed today, but > > > will fail after this KIP. > > > > > > ```java > > > consumer.subscribe(List.of("chia")); > > > ... > > > producer.sendOffsetsToTransaction(Map.of( > > > new TopicPartition("chia", 0), new OffsetAndMetadata(100), > > > new TopicPartition("ikea", 0), new OffsetAndMetadata(100)), // not > > > assigned partitions > > > consumer.groupMetadata()); > > > ``` > > > > > > Best, > > > Chia-Ping > > > >
