Hi Jiunn-Yang,
Thanks for this great KIP. Some comments.

AS1: A limitation of this KIP is that it will not support classic consumer 
groups. I think this is not a problem and it will be a motivator for users to 
adopt modern consumer groups, but it will be necessary to test attempting to 
use the new policy with classic consumer groups and make sure that the 
ConsumerGroupDescription lacks the creation timestamp and so on. There is also 
the question of classic groups which are upgraded to modern consumer groups.
AS2: It seems to me that you should also support streams groups, both in a 
StreamsGroupMetadataValue and StreamsGroupDescription.
AS3: What you are describing as metadata log changes are actually records on 
the __consumer_offsets topic.
AS4: While I understand the need to use tagged fields in the records, I do not 
see why you cannot bump the versions for ConsumerGroupHeartbeat and 
ConsumerGroupDescribe in order to support the new fields.
AS5: In the Admin API, we already have an optional timestamp in 
TransactionDescription.transactionStartTimeMs which uses the type OptionalLong. 
Any reason not to use the same in ConsumerGroupDescription?
AS6: I don't think share group support is needed. "latest" already starts at 
offset 0 for newly added partitions for share groups.
AS7: Might you consider making "by_start_time" the default value for the 
auto.offset.reset consumer config in the next major release? I know that's a 
bold move, but I think what you're getting with the new option is what people 
expected "latest" to behave like.
AS8: I wonder whether GroupCreationTimeUnknownException should extend the 
abstract InvalidOffsetException.
AS9: To follow existing exception names, I think 
UnknownGroupCreationTimeException, GroupCreationTimeNotAvailableException (my 
favourite) or GroupCreationTimeNotFoundException would better match what we 
already have. wdyt?

Thanks,
Andrew

On 2026/04/02 11:34:10 黃竣陽 wrote:
> Hi chia,
> 
> chia_13: 
> `ConsumerGroupDescription` now gains a new method `groupCreationTimeMs()`:
> 
> `groupCreationTimeMs()` (`Optional<Long>`): the epoch-ms when this consumer 
> group 
> was first created on the broker. `Optional.empty()` if unknown.
> 
> Please take a look at the updated KIP and let us know if you have further 
> questions.
> 
> Best Regards,
> Jiunn-Yang
> 
> > Chia-Ping Tsai <[email protected]> 於 2026年4月2日 上午9:58 寫道:
> > 
> > hi Jiunn
> > 
> > chia_13: should we update the public API: ConsumerGroupDescription as well?
> > 
> > Best,
> > Chia-Ping
> > 
> > On 2026/04/01 11:59:46 黃竣陽 wrote:
> >> Hi chia,
> >> 
> >> Thank you for the thoughtful feedback!
> >> 
> >> chia_10: I have added a clarification in the Proposed Changes section to 
> >> address this. In this case,
> >> ListOffsetsRequest will resolve to the Log End Offset, but this is not a 
> >> fallback to `latest`. The distinction 
> >> matters: `latest` is a direct seek to the Log End Offset, whereas 
> >> `by_start_time` always anchors to the 
> >> group creation timestamp and lets the lookup result follow naturally. The 
> >> consumer will begin consuming 
> >> any new records produced after this point normally.
> >> 
> >> chia_11: I have introduced a new exception 
> >> `GroupCreationTimeUnknownException` to signal 
> >> this specific condition.
> >> 
> >> chia_12: I have updated the KIP to expose the group creation timestamp via 
> >> `AdminClient.describeConsumerGroups()`
> >> , accessible through `ConsumerGroupDescription.groupCreationTimeMs()`. 
> >> This is backed by a new 
> >> `GroupCreationTimeMs` field in `ConsumerGroupDescribeResponse.
> >> 
> >> Best Regards,
> >> Jiunn-Yang
> >> 
> >>> Chia-Ping Tsai <[email protected]> 於 2026年4月1日 下午2:33 寫道:
> >>> 
> >>> hi Jiunn
> >>> 
> >>> thanks for updating KIP. I have a couple of questions.
> >>> 
> >>> chia_10: What happen if the group creation time is strictly greater than 
> >>> the timestamp of the latest record in the partition? Will the consumer 
> >>> fall back to the "latest" offset behaviour in this case? It could be good 
> >>> to elucidate that in the KIP
> >>> 
> >>> chia_11: Could you specify which exact exception will be thrown when the 
> >>> group creation time is unknown
> >>> 
> >>> chia_12: Since the group creation time is now a critical semantic anchor, 
> >>> should we also expose it via the `DescribeGroupsResponse`?
> >>> 
> >>> Best,
> >>> Chia-Ping
> >>> 
> >>> On 2026/03/05 11:14:31 黃竣陽 wrote:
> >>>> Hello everyone, 
> >>>> 
> >>>> I would like to start a discussion on KIP-1282: Prevent data loss during 
> >>>> partition expansion for dynamically added partitions
> >>>> <https://cwiki.apache.org/confluence/x/mIY8G>
> >>>> 
> >>>> This proposal aims to introduce a new auto.offset.reset policy 
> >>>> by_start_time, anchoring the 
> >>>> offset reset to the consumer's startup timestamp rather than partition 
> >>>> discovery time, to prevent 
> >>>> silent data loss during partition expansion.
> >>>> 
> >>>> Best regards,
> >>>> Jiunn-Yang
> >> 
> >> 
> 
> 

Reply via email to