Just catching up on this KIP. Couple of questions/comments:


MJS1: For Kafka Streams, given that the new policy only works with "streams" groups, should we add a check at startup if "streams" is actually enabled and fail early if not (eg throw ConfigException)? -- At least for the config bases setting this seems doable -- not sure how easy it would be if user set "to_start_time" programmatically. But maybe also worth to explore? It's much better UX to fail early IMHO.

The KIP already mentions this for consumer case, but not for KS. Relying on the underlying consumer mechanism would result in runtime errors on the background `StreamsThread` leading to bad UX.


MJS2: We recently found a bug in KIP-1071 which requires us to bump the heartbeat request/response version, too. There is already a draft PR that I hope to get merged this or next week: https://github.com/apache/kafka/pull/21799 --- more like an FYI to avoid confusion -- not sure if we should cross-reference both KIPs to each other about it? I did not update KIP-1071 yet, but plan to so this before we can merge the draft PR.


MJS3: Recently, we had a discussion about `bin/kafka-consumer-groups.sh`, and Andrew highlighted that this tool always uses "classic" protocol to commit offsets (what is not a problem in the strict sense, because "mixed" group are supported, as pointed out by David J). So I am wondering if introducing the new `--to-start-time` flag would cause issues? Maybe not, but worth to double check.


-Matthias

On 4/12/26 3:51 AM, Andrew Schofield wrote:
Hi Jiunn-Yang,
Absolutely no need to apologise for non-native English :) There were many 
review cycles before it was evident that to_ was slightly better than by_.

The KIP looks great now.

Thanks,
Andrew

On 2026/04/11 08:57:37 黃竣陽 wrote:
Hello Andrew,

Apologies in advance for my non-native English — please bear with me :)

Thanks for the clarification on AS13. After thinking it through, I agree that
to_start_time is a better name than by_start_time. Your reasoning is convincing:
by_duration computes a relative time (now - duration), while the new policy
anchors to an absolute, server-recorded timestamp (the group creation time).
The to_* prefix correctly conveys “seek to a fixed point”.

Best Regards,
Jiunn-Yang

Andrew Schofield <[email protected]> 於 2026年4月11日 下午4:20 寫道:

Hi Jiunn-Yang,
Thanks for the updates.

AS12: Thanks.

AS13: I did actually mean to change all of the by_start_time, byStartTime and 
--by-start-time variants across the entire KIP to to_start_time, toStartTime 
and --to-start-time. I did say it was quite pervasive, which is why I said you 
could ignore the suggestion :)

AS14: Thanks.

Thanks,
Andrew

On 2026/04/11 02:13:19 黃竣陽 wrote:
Hello Andrew,

Thanks for the helpful feedback.

AS12: GROUP-CREATION-TIME is now only shown in --describe --state —verbose
output. This avoids cluttering the default output for normal users.

AS13: Addressed in the KIP.

AS14: Applied the same changes to kafka-streams-groups.sh. Both --describe 
--state —verbose
and --reset-offsets --to-start-time are now supported for streams groups as 
well.

Best Regards,
Jiunn-Yang

Andrew Schofield <[email protected]> 於 2026年4月11日 清晨5:17 寫道:

A few more comments I'm afraid.





Reply via email to