Hello Andrew,

Thanks for your feedback,
>> I've just been re-reading this KIP to ensure that share group support is
>> not needed. I've discovered that we made a mistake implementing KIP-932 in
>> this area, so we'll rectify that and check whether it's really tight enough
>> not to require KIP-1327.

Could you walk us through the specific area where the mistake was found? That 
would 
help us assess whether it naturally fits within the scope of KIP-1327 or should 
be addressed 
separately.

AS1 I have updated the KIP

Best Regards,
Jiunn-Yang

> Chia-Ping Tsai <[email protected]> 於 2026年6月24日 晚上8:49 寫道:
> 
> hi Andrew
> 
>> I've discovered that we made a mistake implementing KIP-932 in this area,
> so we'll rectify that and check whether it's really tight enough not to
> require KIP-1327.
> 
> Would you mind sharing more details about that? If it's not anything close
> to NP-hard, we could definitely look into covering it within KIP-1327
> 
> Best,
> Chia-Ping
> 
> 
> Andrew Schofield <[email protected]> 於 2026年6月24日週三 下午7:49寫道:
> 
>> Hi Jiunn-Yang,
>> I've just been re-reading this KIP to ensure that share group support is
>> not needed. I've discovered that we made a mistake implementing KIP-932 in
>> this area, so we'll rectify that and check whether it's really tight enough
>> not to require KIP-1327.
>> 
>> One trivial comments for consistency.
>> 
>> AS1: In kafka-consumer-groups.sh, unknown column data is represented by
>> "-", not "N/A". In kafka-topics.sh, we do use "N/A".
>> 
>> Thanks,
>> Andrew
>> 
>> On 2026/06/23 23:23:38 黃竣陽 wrote:
>>> Hi all,
>>> 
>>> Manually bumping this thread.
>>> 
>>> Best Regards,
>>> Jiunn-Yang
>>> 
>>>> 黃竣陽 <[email protected]> 於 2026年6月17日 晚上9:17 寫道:
>>>> 
>>>> Hello chia,
>>>> 
>>>> Thanks for the feedback, I have updated the KIP.
>>>> 
>>>> Best Regards,
>>>> Jiunn-Yang
>>>> 
>>>>> Chia-Ping Tsai <[email protected]> 於 2026年6月17日 凌晨12:47 寫道:
>>>>> 
>>>>> hi Jiunn-Yang
>>>>> 
>>>>>> When the config is set on a cluster that has not yet been
>> upgraded... classification cannot occur... the consumer falls back to the
>> base auto.offset.reset for the affected partitions. No exception is thrown,
>> and no operational disruption results.
>>>>> 
>>>>> Existing group can't take advantage of this excellent new
>> configuration. Allowing users to modify the group creation time might be
>> overkill. Instead, we could print a useful warning message to guide users.
>> For example, we can suggest that they re-create the group with their
>> existing committed offsets
>>>>> 
>>>>>> Protocol changes
>>>>> 
>>>>> Would you mind listing those RPC changes in a table format?
>>>>> 
>>>>>> The full interaction matrix between the base policy and the
>> new-partition policy is:
>>>>> 
>>>>> Please add a filed to describe the target scenario when using these
>> policies
>>>>> 
>>>>> Best,
>>>>> Chia-Ping
>>>>> 
>>>>> 
>>>>> On 2026/06/16 16:14:49 黃竣陽 wrote:
>>>>>> Hello Jun, chia,
>>>>>> 
>>>>>> Thanks for the feedback, I have updated the KIP for the new
>>>>>> approach, PTAL
>>>>>> 
>>>>>> Best Regards,
>>>>>> Jiunn-Yang
>>>>>> 
>>>>>>> Chia-Ping Tsai <[email protected]> 於 2026年6月16日 上午8:23 寫道:
>>>>>>> 
>>>>>>> hi Jun
>>>>>>> 
>>>>>>> Yes, your approach is great. I think the combination of latest (for
>> existing partitions) and by_duration (for new partitions) can address 99%
>> of the complaints I have heard regarding this issue.
>>>>>>> 
>>>>>>> Also, leveraging the group creation time here opens the door to
>> implementing a new policy based on timestamp seek in the future, should the
>> community want to pursue that.
>>>>>>> 
>>>>>>> Thanks for your patience and constructive feedback. We will update
>> the KIP accordingly.
>>>>>>> 
>>>>>>> Best, Chia-Ping
>>>>>>> 
>>>>>>>> Jun Rao via dev <[email protected]> 於 2026年6月16日 清晨5:11 寫道:
>>>>>>>> 
>>>>>>>> Hi, Chia-Ping,
>>>>>>>> 
>>>>>>>> Thanks for the reply.
>>>>>>>> 
>>>>>>>> I agree that it's probably useful to allow a user to configure a
>> different
>>>>>>>> offset policy for existing partitions vs new partitions. However,
>> using
>>>>>>>> group creation time to capture that seems more intuitive. Here is
>> another
>>>>>>>> proposal: remove auto.offset.reset.max.age.ms and categorize new
>> partitions
>>>>>>>> based on group creation time. Introduce
>>>>>>>> a new config auto.offset.reset.new.partitions whose values can be
>> earliest,
>>>>>>>> latest and by_duration, the same as auto.offset.reset. Users can
>> set
>>>>>>>> `auto.offset.reset.new.partitions` to `earliest` if they want to
>> guarantee
>>>>>>>> no data loss on new partitions. They can also use by_duration to
>> set an
>>>>>>>> upper bound on the backlog replayed, which can be different from
>> that of
>>>>>>>> the existing partitions. This will address your concern about too
>> much
>>>>>>>> backlog being replayed when the offsets are lost. What do you
>> think?
>>>>>>>> 
>>>>>>>> Jun
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Mon, Jun 15, 2026 at 10:39 AM Chia-Ping Tsai <
>> [email protected]> wrote:
>>>>>>>>> 
>>>>>>>>> hi Jun
>>>>>>>>> 
>>>>>>>>> The most important part of this story is how users should expect
>> the data
>>>>>>>>> they can see when using the latest or by_duration policy with
>> expanded
>>>>>>>>> partitions.
>>>>>>>>> 
>>>>>>>>> Yes, the by_duration policy can minimize data loss, but it is
>>>>>>>>> non-deterministic, which means users will either read too many
>> historical
>>>>>>>>> records from existing partitions or lose some records from
>> expanded
>>>>>>>>> partitions.
>>>>>>>>> 
>>>>>>>>> Also, I agree that auto.offset.reset.max.age.ms
>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.max.age.ms__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpwnwknH$
>>> 
>>>>>>>>> is a bit hard to understand, and that is why I preferred having a
>> whole new
>>>>>>>>> policy based entirely on group creation time (KIP-1282)
>>>>>>>>> 
>>>>>>>>> Best,
>>>>>>>>> Chia-Ping
>>>>>>>>> 
>>>>>>>>> Jun Rao via dev <[email protected]> 於 2026年6月16日週二 上午1:08寫道:
>>>>>>>>> 
>>>>>>>>>> Hi, Chia-Ping and Jiunn-Yang,
>>>>>>>>>> 
>>>>>>>>>> Thanks for the reply. I am still trying to understand the value
>> of the new
>>>>>>>>>> configs with the KIP.
>>>>>>>>>> 
>>>>>>>>>> The motivation of the KIP is that a user doesn't want to miss
>> the data if
>>>>>>>>>> the backlog is small. The backlog of the existing partition is
>> easy to
>>>>>>>>>> understand because it relates to retention time. The backlog for
>> the new
>>>>>>>>>> partition is a bit subtle to understand since it depends on the
>> metadata
>>>>>>>>>> refresh delay. To set auto.offset.reset.max.age.ms
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.max.age.ms__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpwnwknH$
>>> ,
>>>>>>>>>> the user needs to
>>>>>>>>>> understand the metadata refresh delay on the consumer side and
>> use it to
>>>>>>>>>> set the config.
>>>>>>>>>> 
>>>>>>>>>> Now, let's consider the alternative: setting the same value for
>> the
>>>>>>>>>> existing by_duration policy. The KIP lists three issues with this
>>>>>>>>>> approach.
>>>>>>>>>> 1. It computes the seek target client-side as now() - duration,
>> which
>>>>>>>>>> introduces clock skew across consumers and forces operators to
>> choose
>>>>>>>>>> overly large durations, causing unnecessary reprocessing.
>>>>>>>>>> 2. The target timestamp is recomputed on each retry, so failed
>>>>>>>>>> ListOffsetsRequest retries can shift the target forward and
>> potentially
>>>>>>>>>> miss records produced between attempts.
>>>>>>>>>> 3. It applies uniformly to all partitions without committed
>> offsets, and
>>>>>>>>>> cannot distinguish newly expanded partitions from long-existing
>> partitions
>>>>>>>>>> newly assigned to the group, leading to unnecessary replay.
>>>>>>>>>> 
>>>>>>>>>> Issues 1 and 2 are uncommon and can be mitigated by adding a bit
>> buffer to
>>>>>>>>>> the metadata refresh delay. We could also consider improving the
>>>>>>>>>> implementation. For issue 3, the metadata refresh delay is
>> typically low
>>>>>>>>>> (in the order of minutes with the classic consumer and tens of
>> seconds
>>>>>>>>>> with
>>>>>>>>>> the new consumer). If a user is ok with reading that much
>> backlog for new
>>>>>>>>>> partitions, it seems they will be ok doing the same for existing
>>>>>>>>>> partitions.
>>>>>>>>>> 
>>>>>>>>>> So, instead of introducing a new config, could we just reuse the
>> existing
>>>>>>>>>> config with better documentation and/or implementation?
>>>>>>>>>> 
>>>>>>>>>> Jun
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> On Sat, Jun 13, 2026 at 12:19 AM 黃竣陽 <[email protected]>
>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> Hello Jun,
>>>>>>>>>>> 
>>>>>>>>>>> You're right that group creation time is the more intuitive
>> answer at
>>>>>>>>>>> first glance,
>>>>>>>>>>> the KIP's own motivation talks about partitions that "predate
>> the group"
>>>>>>>>>>> vs partitions
>>>>>>>>>>> "created during group runtime," which directly points to a
>>>>>>>>>> group-lifecycle
>>>>>>>>>>> classifier.
>>>>>>>>>>> I'd like to walk through why we landed on partition age, and the
>>>>>>>>>>> trade-offs we considered.
>>>>>>>>>>> 
>>>>>>>>>>> We evaluated three candidate signals:
>>>>>>>>>>> 
>>>>>>>>>>> 1. `by_duration:5secs`
>>>>>>>>>>> 
>>>>>>>>>>> This covers the metadata blindness window, but has issues the
>> KIP
>>>>>>>>>>> currently documents
>>>>>>>>>>> under "Why not use `by_duration`?":
>>>>>>>>>>> 
>>>>>>>>>>> - Client-side `now() - duration` introduces clock skew across
>> consumers.
>>>>>>>>>>> - `ListOffsets` retries shift the target forward, potentially
>> missing
>>>>>>>>>>> records produced between
>>>>>>>>>>> attempts.
>>>>>>>>>>> - It applies uniformly to all partitions without committed
>> offsets,
>>>>>>>>>>> including pre-existing partitions
>>>>>>>>>>> newly assigned to the group, causing unnecessary replay.
>>>>>>>>>>> 
>>>>>>>>>>> 2. Group creation time as classifier
>>>>>>>>>>> 
>>>>>>>>>>> This works cleanly when the consumer is actively running. Our
>> concern
>>>>>>>>>>> is the idle / late-rejoin case:
>>>>>>>>>>> 
>>>>>>>>>>> T=0:         Group created.
>>>>>>>>>>> T=1..T=100:  Consumer idle (down, disconnected, etc.).
>>>>>>>>>>> T=50:        Partition added during the idle window.
>>>>>>>>>>> T=100:       Consumer resumes.
>>>>>>>>>>> 
>>>>>>>>>>> Under group creation time, the new partition is classified as
>> new
>>>>>>>>>>> (`50 > 0`) and reset to `earliest`, replaying everything from
>> T=50.
>>>>>>>>>>> But during `[T=1, T=100]`, base partitions also accumulated
>> data that
>>>>>>>>>>> the consumer accepts as lost — that is precisely the contract of
>>>>>>>>>>> `auto.offset.reset=latest`. There is no principled reason to
>> treat
>>>>>>>>>>> the new partition differently; both contain backlog accumulated
>> during
>>>>>>>>>>> the same idle window.
>>>>>>>>>>> 
>>>>>>>>>>> This aligns with the "backlog is backlog” principle you raised
>> in
>>>>>>>>>>> the KIP-1282 thread: a `latest` user has tolerated some backlog
>> on
>>>>>>>>>>> every other partition during the same idle period; forcing
>> 0-backlog
>>>>>>>>>>> tolerance only on new partitions would be inconsistent with that
>>>>>>>>>>> tolerance.
>>>>>>>>>>> 
>>>>>>>>>>> 3. Partition age vs threshold
>>>>>>>>>>> 
>>>>>>>>>>> Partition age corresponds to the actual silent data loss window,
>>>>>>>>>>> the gap between partition creation and the consumer’s metadata
>>>>>>>>>>> refresh. Within this window, data loss is genuinely silent: the
>>>>>>>>>>> consumer had no opportunity to know about the partition.
>> Outside this
>>>>>>>>>>> window, missing data reflects either:
>>>>>>>>>>> 
>>>>>>>>>>> - (a) the user’s tolerated cost of running with idle consumers,
>> or
>>>>>>>>>>> - (b) an operational issue to surface via monitoring, not via
>> reset
>>>>>>>>>> policy.
>>>>>>>>>>> 
>>>>>>>>>>> We did not choose partition age because it is more elegant than
>> group
>>>>>>>>>>> creation time — we chose it because its failure mode (requires a
>>>>>>>>>>> threshold) is
>>>>>>>>>>> less invasive than the failure mode of group creation time
>> (overrides
>>>>>>>>>>> user-stated
>>>>>>>>>>> `latest` intent during idle periods).
>>>>>>>>>>> 
>>>>>>>>>>> Best Regards,
>>>>>>>>>>> Jiunn-Yang
>>>>>>>>>>> 
>>>>>>>>>>>> Chia-Ping Tsai <[email protected]> 於 2026年6月13日 上午11:52 寫道:
>>>>>>>>>>>> 
>>>>>>>>>>>> Hi Jun,
>>>>>>>>>>>> 
>>>>>>>>>>>> Relying on both creation times will create an inconsistent
>> scenario. A
>>>>>>>>>>>> consumer that lost all offsets due to a long sleep will seek
>> to the
>>>>>>>>>>>> beginning for the partitions created later than the group.
>>>>>>>>>>>> 
>>>>>>>>>>>> That is why we initially proposed KIP-1282 to fix the
>> inconsistency
>>>>>>>>>>> using a
>>>>>>>>>>>> whole new policy. Since KIP-1282 couldn't reach a consensus,
>> KIP-1327
>>>>>>>>>>> goes
>>>>>>>>>>>> back to using flexible configurations to prevent users from
>> falling
>>>>>>>>>> into
>>>>>>>>>>>> that pitfall.
>>>>>>>>>>>> 
>>>>>>>>>>>> Best, Chia-Ping
>>>>>>>>>>>> 
>>>>>>>>>>>> Jun Rao via dev <[email protected]> 於 2026年6月13日週六
>> 上午6:49寫道:
>>>>>>>>>>>> 
>>>>>>>>>>>>> Hi, Jiunn-Yang,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Thanks for the reply and sorry for the late reply.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> JR1. The design of auto.offset.reset.max.age.ms
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.max.age.ms__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpwnwknH$
>>> 
>>>>>>>>>> still feels weird to
>>>>>>>>>>> me.
>>>>>>>>>>>>> It
>>>>>>>>>>>>> categorizes partitions as new or existing based on the
>> partition
>>>>>>>>>>> creation
>>>>>>>>>>>>> time. Intuitively, the categorization should be based on the
>> group
>>>>>>>>>>> creation
>>>>>>>>>>>>> time: all partitions existing when the group is created are
>> existing
>>>>>>>>>> and
>>>>>>>>>>>>> all partitions created after the group creation are new
>> partitions.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Jun
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Tue, Jun 9, 2026 at 8:51 AM 黃竣陽 <[email protected]>
>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Manually bumping this thread. If there is no further
>>>>>>>>>>>>>> discussion, I will close the vote.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>> Jiunn-Yang
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 黃竣陽 <[email protected]> 於 2026年6月1日 晚上7:16 寫道:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Hello Jian,
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Thanks for your feedback,
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Agreed, partition expansion is a common operational task,
>> not an
>>>>>>>>>> edge
>>>>>>>>>>>>>>> case. I've updated the Motivation section accordingly.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>> Jiunn-Yang
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> jian fu <[email protected]> 於 2026年6月1日 下午5:49 寫道:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Hi Jiunn-Yang:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Thanks for the KIP. I think it would be useful to clarify
>> that
>>>>>>>>>> this
>>>>>>>>>>>>> is a
>>>>>>>>>>>>>>>> common scenario rather than an edge case, which further
>>>>>>>>>> demonstrates
>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>> need for this optimization. For example:
>>>>>>>>>>>>>>>> A partition expansion is a common operational task in
>> Kafka: To
>>>>>>>>>>>>> balance
>>>>>>>>>>>>>>>> resource utilization and cost, topics are typically
>> created with a
>>>>>>>>>>>>>> moderate
>>>>>>>>>>>>>>>> default partition count. However, as traffic grows over
>> time, it
>>>>>>>>>> is
>>>>>>>>>>>>>> often
>>>>>>>>>>>>>>>> necessary to increase the number of partitions to
>> accommodate the
>>>>>>>>>>>>> higher
>>>>>>>>>>>>>>>> workload.
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> Regards
>>>>>>>>>>>>>>>> Jian
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>> 黃竣陽 <[email protected]> 于2026年5月30日周六 22:31写道:
>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Hello chia,
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Thanks for the comments, I have updated the KIP!
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>>>> Jiunn-Yang
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Chia-Ping Tsai <[email protected]> 於 2026年5月30日 晚上8:29
>> 寫道:
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Hi Jiunn-Yang,
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Would you mind removing the terms "hot" and "cold" when
>>>>>>>>>> describing
>>>>>>>>>>>>>>>>>> partitions in the KIP? I understand you are using them to
>>>>>>>>>> describe
>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>> "freshness" or the users' need for the records, but
>> applying
>>>>>>>>>> these
>>>>>>>>>>>>>> terms
>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>> the partition itself feels a bit unnatural.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> After all, in this scenario, users don't really care
>> whether a
>>>>>>>>>>>>>> partition
>>>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>> newly expanded or not. Their only expectation is that
>> they won't
>>>>>>>>>>>>>> silently
>>>>>>>>>>>>>>>>>> lose any live records produced to the topic during their
>> active
>>>>>>>>>>>>>>>>> consumption.
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> Best, Chia-Ping
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>> 黃竣陽 <[email protected]> 於 2026年5月30日週六 下午12:30寫道:
>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> Hello Jun,
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> Thanks for the feedback, I have updated the KIP
>> motivation
>>>>>>>>>>> section.
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>>>>>> Jiunn-Yang
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> Jun Rao via dev <[email protected]> 於 2026年5月30日
>> 凌晨1:12
>>>>>>>>>> 寫道:
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> Hi, Jiunn-Yang,
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> Thanks for the reply. I think we need a stronger
>> motivation
>>>>>>>>>> for
>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>> KIP.
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> The KIP says "The core insight is that not all
>> partitions
>>>>>>>>>> without
>>>>>>>>>>>>> a
>>>>>>>>>>>>>>>>>>>> committed offset are the same. A newly expanded
>> partition
>>>>>>>>>> (hot)
>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>>> fundamentally different from a partition the consumer
>> has
>>>>>>>>>> never
>>>>>>>>>>>>> seen
>>>>>>>>>>>>>>>>>>>> because it predates the group (cold)." Why is the hot
>>>>>>>>>> partition
>>>>>>>>>>>>>>>>>>>> fundamentally different from the cold?
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> The KIP says "The existing by_duration policy is also
>>>>>>>>>>> insufficient
>>>>>>>>>>>>>>>>>>> because:
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> - The calculated seek time (now() - duration) varies
>> across
>>>>>>>>>> nodes
>>>>>>>>>>>>>> due
>>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>>> clock skew. To be safe, users must set an overly large
>>>>>>>>>> duration,
>>>>>>>>>>>>>>>>>>> causing
>>>>>>>>>>>>>>>>>>>> unnecessary reprocessing.
>>>>>>>>>>>>>>>>>>>> - On network errors, the client recalculates the seek
>> time on
>>>>>>>>>>>>> retry,
>>>>>>>>>>>>>>>>>>>> shifting the target timestamp forward and risking data
>> loss."
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> However, both of these situations are rare. If these
>> issues
>>>>>>>>>>>>> persist,
>>>>>>>>>>>>>>>>> more
>>>>>>>>>>>>>>>>>>>> severe problems likely exist elsewhere. Rare
>> situations don't
>>>>>>>>>>>>> need a
>>>>>>>>>>>>>>>>>>> common
>>>>>>>>>>>>>>>>>>>> solution. If users care about those rare situations,
>> they can
>>>>>>>>>>>>>> implement
>>>>>>>>>>>>>>>>>>>> customized logic using
>>>>>>>>>>>>>>>>> ConsumerRebalanceListener.onPartitionsAssigned().
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> Jun
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>> On Sun, May 17, 2026 at 6:50 AM 黃竣陽 <
>> [email protected]>
>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> Hello chia,
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> Thanks for the feedback,
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> If the creation time exists, the returned value
>> should
>>>>>>>>>> always
>>>>>>>>>>> be
>>>>>>>>>>>>>>>>>>> greater
>>>>>>>>>>>>>>>>>>>>> than or equal to zero, right?
>>>>>>>>>>>>>>>>>>>>> I have explicitly mentioned this in the KIP.
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> New  Old (MetadataResponse v0–13)    positive
>>  any
>>>>>>>>>>>>>> field
>>>>>>>>>>>>>>>>>>>>> absent    UnsupportedVersionException
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> The earliest point at which we can detect the version
>>>>>>>>>> mismatch
>>>>>>>>>>> is
>>>>>>>>>>>>>>>>> during
>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>> first metadata fetch after assignment, which occurs
>> inside
>>>>>>>>>>>>> poll().
>>>>>>>>>>>>>>>>>>>>> Therefore, the
>>>>>>>>>>>>>>>>>>>>> user would encounter an UnsupportedVersionException
>> from
>>>>>>>>>> poll().
>>>>>>>>>>>>>> I’ll
>>>>>>>>>>>>>>>>>>>>> clarify this in the KIP.
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>>>>>>>> Jiunn-Yang
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> Chia-Ping Tsai <[email protected]> 於 2026年5月17日
>> 下午4:50
>>>>>>>>>> 寫道:
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> hi Jiunn
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> PartitionAgeMs (int64, default -1): The age of this
>>>>>>>>>> partition
>>>>>>>>>>>>> in
>>>>>>>>>>>>>>>>>>>>> milliseconds, computed server-side by the broker as
>>>>>>>>>>>>>>>>> broker_current_time
>>>>>>>>>>>>>>>>>>> -
>>>>>>>>>>>>>>>>>>>>> partition_creation_time. Returns -1 if the broker
>> does not
>>>>>>>>>>>>> support
>>>>>>>>>>>>>>>>> this
>>>>>>>>>>>>>>>>>>>>> feature or the partition creation time is unknown.
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> If the creation time exists, the returned value
>> should
>>>>>>>>>> always
>>>>>>>>>>> be
>>>>>>>>>>>>>>>>>>> greater
>>>>>>>>>>>>>>>>>>>>> than or equal to zero, right?
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> New  Old (MetadataResponse v0–13)    positive
>>  any
>>>>>>>>>>>>>> field
>>>>>>>>>>>>>>>>>>>>> absent    UnsupportedVersionException
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> Will user encounter UnsupportedVersionException when
>> calling
>>>>>>>>>>>>>>>>> `poll()`?
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>>>>>>>>>> Chia-Ping
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>> On 2026/05/16 04:30:49 黃竣陽 wrote:
>>>>>>>>>>>>>>>>>>>>>>> Hello Jun, chia,
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> I've updated KIP-1327 with a design change based on
>> the
>>>>>>>>>>>>>> discussion
>>>>>>>>>>>>>>>>>>>>>>> feedback.
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> The updated design decouples the new-partition reset
>>>>>>>>>> behavior
>>>>>>>>>>>>>> from
>>>>>>>>>>>>>>>>>>>>>>> the base auto.offset.reset policy:
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> - auto.offset.reset.max.age.ms
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.max.age.ms__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpwnwknH$
>>> 
>>>>>>>>>> now applies to all
>>>>>>>>>>>>>> auto.offset.reset
>>>>>>>>>>>>>>>>>>>>> values
>>>>>>>>>>>>>>>>>>>>>>> (latest, earliest, by_duration, none).
>>>>>>>>>>>>>>>>>>>>>>> - For new ("hot") partitions, the consumer resets to
>>>>>>>>>>>>>>>>>>>>> auto.offset.reset.new
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.new__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpDMjdw3$
>>> 
>>>>>>>>>> .partitions
>>>>>>>>>>>>>>>>>>>>>>> config setting
>>>>>>>>>>>>>>>>>>>>>>> - For existing ("cold") partitions, the base
>>>>>>>>>> auto.offset.reset
>>>>>>>>>>>>>>>>> policy
>>>>>>>>>>>>>>>>>>>>> continues
>>>>>>>>>>>>>>>>>>>>>>> to apply unchanged.
>>>>>>>>>>>>>>>>>>>>>>> - The new-partition reset behavior is represented
>> by a
>>>>>>>>>>> separate
>>>>>>>>>>>>>>>>>>>>> internal config
>>>>>>>>>>>>>>>>>>>>>>> (auto.offset.reset.new
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.new__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpDMjdw3$
>>> .partitions,
>>>>>>>>>> currently fixed to
>>>>>>>>>>>>> earliest).
>>>>>>>>>>>>>>>>> This
>>>>>>>>>>>>>>>>>>>>> decoupled design makes
>>>>>>>>>>>>>>>>>>>>>>> it straightforward to promote the behavior to a
>> public
>>>>>>>>>>>>>> user-facing
>>>>>>>>>>>>>>>>>>>>> configuration in a future KIP.
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>>>>>>>>>> Jiunn-Yang
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> Chia-Ping Tsai <[email protected]> 於 2026年5月16日
>> 清晨7:46
>>>>>>>>>> 寫道:
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> hi Jun
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> I see what you mean now. The proposal from me is
>> listed
>>>>>>>>>>> below:
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> 1) Add auto.offset.reset.new
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.new__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpDMjdw3$
>>> .partitions
>>>>>>>>>> with a default value
>>>>>>>>>>>>> of
>>>>>>>>>>>>>>>>>>>>> earliest. It fixes the data loss from both
>> by_duration and
>>>>>>>>>>>>> latest,
>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>> it
>>>>>>>>>>>>>>>>>>>>> does not change the logic of
>> auto.offset.reset=earliest.
>>>>>>>>>>>>>>>>>>>>>>>> 2) Mark auto.offset.reset.new
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.new__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpDMjdw3$
>>> .partitions
>>>>>>>>>> as an internal
>>>>>>>>>>>>>>>>>>>>> configuration. auto.offset.reset.new
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.new__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpDMjdw3$
>>> 
>>>>>>>>>> .partitions=earliest
>>>>>>>>>>> already
>>>>>>>>>>>>>>>>>>>>> addresses the issue, and we can discuss the use cases
>> of
>>>>>>>>>> other
>>>>>>>>>>>>>> values
>>>>>>>>>>>>>>>>>>> in a
>>>>>>>>>>>>>>>>>>>>> separate KIP.
>>>>>>>>>>>>>>>>>>>>>>>> 3) Both configs, auto.offset.reset.new
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.new__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpDMjdw3$
>>> .partitions
>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>>>> auto.offset.reset.latest.max.age.ms
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.latest.max.age.ms__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfu9JSP4l$
>>> ,
>>>>>>>>>> will be applied to all for
>>>>>>>>>>>>>>>>>>>>> consistency.
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> WDYT?
>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>> On 2026/05/15 20:53:20 Jun Rao via dev wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> Hi, Chia-Ping,
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for the reply.
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> 1. In the motivation section, the KIP says "When
>> a Kafka
>>>>>>>>>>>>> topic
>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>>>> expanded
>>>>>>>>>>>>>>>>>>>>>>>>> with new partitions, consumers using the latest
>> auto
>>>>>>>>>> offset
>>>>>>>>>>>>>> reset
>>>>>>>>>>>>>>>>>>>>> policy
>>>>>>>>>>>>>>>>>>>>>>>>> will silently miss all records produced to those
>>>>>>>>>> partitions
>>>>>>>>>>>>>> before
>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>>>> consumer discovers them.". If a user sets
>>>>>>>>>>>>>>>>>>>>>>>>> auto.offset.reset=by_duration=1sec, the same
>> record loss
>>>>>>>>>>>>> issue
>>>>>>>>>>>>>>>>> could
>>>>>>>>>>>>>>>>>>>>> also
>>>>>>>>>>>>>>>>>>>>>>>>> happen, right?
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> 2. I was thinking auto.offset.reset.new
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.new__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpDMjdw3$
>>> .partitions
>>>>>>>>>> will
>>>>>>>>>>> take
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>> same
>>>>>>>>>>>>>>>>>>>>>>>>> values as auto.offset.reset. So a user could set
>> it
>>>>>>>>>>>>>> by_duration if
>>>>>>>>>>>>>>>>>>>>> needed.
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> Jun
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, May 14, 2026 at 4:06 PM Chia-Ping Tsai <
>>>>>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>> hi Jun
>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for the feedback. I might be missing
>> something
>>>>>>>>>>>>>> important
>>>>>>>>>>>>>>>>>>> from
>>>>>>>>>>>>>>>>>>>>> your
>>>>>>>>>>>>>>>>>>>>>>>>>> suggestion, so please bear with me as I try to
>> clarify
>>>>>>>>>> with
>>>>>>>>>>>>> a
>>>>>>>>>>>>>> few
>>>>>>>>>>>>>>>>>>>>> questions:
>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Is there a strong use case for extending this
>> logic
>>>>>>>>>> to
>>>>>>>>>>>>>> other
>>>>>>>>>>>>>>>>>>> reset
>>>>>>>>>>>>>>>>>>>>>>>>>> policies? Unlike latest, policies like earliest
>> or
>>>>>>>>>>>>> by_duration
>>>>>>>>>>>>>>>>>>> don't
>>>>>>>>>>>>>>>>>>>>> seem
>>>>>>>>>>>>>>>>>>>>>>>>>> to suffer from the same silent data loss issue
>> when a
>>>>>>>>>>>>>> partition
>>>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>>>> expanded.
>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>> 2. What values would we expect users to
>> configure for
>>>>>>>>>>>>>>>>>>>>>>>>>> auto.offset.reset.new
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.new__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpDMjdw3$
>>> .partitions?
>>>>>>>>>> If they set it to
>>>>>>>>>>>>> earliest
>>>>>>>>>>>>>> or
>>>>>>>>>>>>>>>>>>>>> latest,
>>>>>>>>>>>>>>>>>>>>>>>>>> we might run into the exact same edge cases. For
>>>>>>>>>> example,
>>>>>>>>>>>>> if a
>>>>>>>>>>>>>>>>>>>>> consumer is
>>>>>>>>>>>>>>>>>>>>>>>>>> offline for a while and a new partition is
>> created
>>>>>>>>>> during
>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>>>>> downtime,
>>>>>>>>>>>>>>>>>>>>>>>>>> the user might actually want to skip to latest
>> when
>>>>>>>>>>>>> resuming,
>>>>>>>>>>>>>>>>>>> rather
>>>>>>>>>>>>>>>>>>>>> than
>>>>>>>>>>>>>>>>>>>>>>>>>> reading from earliest just because the partition
>> is
>>>>>>>>>>>>>> technically
>>>>>>>>>>>>>>>>>>>>> "new" to
>>>>>>>>>>>>>>>>>>>>>>>>>> the group.
>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>> This is exactly why we opted for introducing a
>> max.age
>>>>>>>>>>>>>> threshold.
>>>>>>>>>>>>>>>>>>> It
>>>>>>>>>>>>>>>>>>>>> gives
>>>>>>>>>>>>>>>>>>>>>>>>>> users a time-bound way to define what is
>> genuinely
>>>>>>>>>>> "hot/new"
>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>>>> what is
>>>>>>>>>>>>>>>>>>>>>>>>>> just an old partition they haven't seen yet.
>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>>>>>>>>>>>>>> Chia-Ping
>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>> On 2026/05/14 20:48:09 Jun Rao via dev wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi, Jiunn-Yang,
>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for the KIP.
>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>> I find auto.offset.reset.latest.max.age a bit
>> weird. It
>>>>>>>>>>>>> only
>>>>>>>>>>>>>>>>>>>>> applies when
>>>>>>>>>>>>>>>>>>>>>>>>>>> auto.offset.reset is latest. However, it seems
>> that the
>>>>>>>>>>>>>>>>> motivation
>>>>>>>>>>>>>>>>>>>>>>>>>> equally
>>>>>>>>>>>>>>>>>>>>>>>>>>> applies when auto.offset.reset is set to other
>> values
>>>>>>>>>> like
>>>>>>>>>>>>>>>>>>>>> by_duration.
>>>>>>>>>>>>>>>>>>>>>>>>>> The
>>>>>>>>>>>>>>>>>>>>>>>>>>> intention is that we want to have a separate
>> way to
>>>>>>>>>>> control
>>>>>>>>>>>>>>>>> newly
>>>>>>>>>>>>>>>>>>>>> created
>>>>>>>>>>>>>>>>>>>>>>>>>>> partitions vs existing partitions when the group
>>>>>>>>>> starts.
>>>>>>>>>>>>>> Have we
>>>>>>>>>>>>>>>>>>>>>>>>>> considered
>>>>>>>>>>>>>>>>>>>>>>>>>>> adding a new config like auto.offset.reset.new
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://auto.offset.reset.new__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkfpDMjdw3$
>>> 
>>>>>>>>>>> .partitions?
>>>>>>>>>>>>>> If
>>>>>>>>>>>>>>>>>>> this
>>>>>>>>>>>>>>>>>>>>> new
>>>>>>>>>>>>>>>>>>>>>>>>>>> config is not set, the offset reset policy
>> defaults to
>>>>>>>>>> the
>>>>>>>>>>>>>>>>> policy
>>>>>>>>>>>>>>>>>>>>> used
>>>>>>>>>>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>>>>>>>>>>>> existing partitions. The user could set it
>> explicitly
>>>>>>>>>> to
>>>>>>>>>>>>>>>>> customize
>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>>>>>> behavior for new partitions.
>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>> Jun
>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, May 7, 2026 at 5:07 AM 黃竣陽 <
>> [email protected]
>>>>>>>>>>> 
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> I’d like to manually bump this thread.
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Jiunn-Yang
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 黃竣陽 <[email protected]> 於 2026年5月1日 晚上10:37
>> 寫道:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello all,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for the feedback.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DJ01/DJ02:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MetadataResponse bumps from v13 to v14. The
>>>>>>>>>>>>>> PartitionMetadata
>>>>>>>>>>>>>>>>>>>>> struct
>>>>>>>>>>>>>>>>>>>>>>>>>>>> gains a new
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> field PartitionAgeMs (int64, default -1),
>> computed
>>>>>>>>>>>>>> server-side
>>>>>>>>>>>>>>>>>>> by
>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>>>>>>> broker as
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> broker_current_time - partition_creation_time.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Also add the consumer heartbeat flow. when
>>>>>>>>>>>>>> MembershipManager
>>>>>>>>>>>>>>>>>>>>> detects
>>>>>>>>>>>>>>>>>>>>>>>>>> a
>>>>>>>>>>>>>>>>>>>>>>>>>>>> newly assigned
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> partition, it explicitly invalidates the
>> metadata for
>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>> affected
>>>>>>>>>>>>>>>>>>>>>>>>>> topic
>>>>>>>>>>>>>>>>>>>>>>>>>>>> and forces a fresh MetadataRequest
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> before making the offset reset decision, even
>> if the
>>>>>>>>>>>>> topic
>>>>>>>>>>>>>> ID
>>>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>>>>>>>>> already
>>>>>>>>>>>>>>>>>>>>>>>>>>>> in the cache.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MB0:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The consumer learns the broker's maximum
>> supported
>>>>>>>>>>>>>>>>>>>>> MetadataResponse
>>>>>>>>>>>>>>>>>>>>>>>>>>>> version via the
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ApiVersions negotiation at connection time.
>> If the
>>>>>>>>>>>>>> negotiated
>>>>>>>>>>>>>>>>>>>>>>>>>> version is
>>>>>>>>>>>>>>>>>>>>>>>>>>>> unsupported, the consumer
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> knows the broker does not support
>> PartitionAgeMs at
>>>>>>>>>> all
>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>> can
>>>>>>>>>>>>>>>>>>>>>>>>>> throw an
>>>>>>>>>>>>>>>>>>>>>>>>>>>> UnsupportedVersionException
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> immediately, rather than silently falling
>> back to
>>>>>>>>>> latest
>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>>>> risking
>>>>>>>>>>>>>>>>>>>>>>>>>>>> data loss without any operator-visible signal.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MB1/MB2/MB3:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have addressed these changes in the KIP.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Jiunn-Yang
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Chia-Ping Tsai <[email protected]> 於
>> 2026年4月29日
>>>>>>>>>>> 下午4:04
>>>>>>>>>>>>>> 寫道:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hi David
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I agree with the direction of moving the
>> 'age'
>>>>>>>>>>>>> resolution
>>>>>>>>>>>>>>>>> from
>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Heartbeat API to the Metadata API to keep the
>> control
>>>>>>>>>>>>> plane
>>>>>>>>>>>>>>>>>>> clean.
>>>>>>>>>>>>>>>>>>>>> The
>>>>>>>>>>>>>>>>>>>>>>>>>> main
>>>>>>>>>>>>>>>>>>>>>>>>>>>> trade-off, as we noted before, is introducing
>>>>>>>>>>> inter-broker
>>>>>>>>>>>>>>>>> clock
>>>>>>>>>>>>>>>>>>>>> skew.
>>>>>>>>>>>>>>>>>>>>>>>>>> The
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Group Coordinator approach provided a single
>> source of
>>>>>>>>>>>>> truth
>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>>>>>> time.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> However, realistically, this time skew
>> should be
>>>>>>>>>>>>>> negligible.
>>>>>>>>>>>>>>>>>>>>> Given
>>>>>>>>>>>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>>>>>>>>>>>> the max.age threshold will likely be
>> configured in
>>>>>>>>>>> minutes
>>>>>>>>>>>>>> or
>>>>>>>>>>>>>>>>>>>>> hours, a
>>>>>>>>>>>>>>>>>>>>>>>>>>>> typical NTP skew (in milliseconds) between
>> brokers
>>>>>>>>>> won't
>>>>>>>>>>>>>> impact
>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>>>>>>> fallback decision.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Chia-Ping
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> David Jacot via dev <[email protected]>
>> 於
>>>>>>>>>>>>> 2026年4月29日
>>>>>>>>>>>>>>>>>>> 下午3:29
>>>>>>>>>>>>>>>>>>>>> 寫道:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for the KIP!
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sorry, I haven't really followed the
>> previous
>>>>>>>>>>>>>> conversation
>>>>>>>>>>>>>>>>>>> but I
>>>>>>>>>>>>>>>>>>>>>>>>>> took a
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> quick look at this one.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DJ01: I don't clearly understand the flow
>> with the
>>>>>>>>>>>>>>>>>>>>>>>>>>>> ConsumerGroupHeartbeat
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> API after reading the KIP. There is a new
>> boolean;
>>>>>>>>>> the
>>>>>>>>>>>>>> KIP
>>>>>>>>>>>>>>>>>>>>> states
>>>>>>>>>>>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> partition ages are returned only when this
>> boolean
>>>>>>>>>> is
>>>>>>>>>>>>>> set.
>>>>>>>>>>>>>>>>>>>>>>>>>> Implicitly,
>>>>>>>>>>>>>>>>>>>>>>>>>>>> this
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> means that when the consumer receives a new
>>>>>>>>>> partition,
>>>>>>>>>>>>> it
>>>>>>>>>>>>>>>>> will
>>>>>>>>>>>>>>>>>>>>>>>>>> issue a
>>>>>>>>>>>>>>>>>>>>>>>>>>>> new
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> HB request with the boolean set to receive
>> the
>>>>>>>>>> ages.
>>>>>>>>>>> Is
>>>>>>>>>>>>>> my
>>>>>>>>>>>>>>>>>>>>>>>>>>>> understanding
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> correct? We should perhaps clarify the flow
>> and
>>>>>>>>>> also
>>>>>>>>>>>>>> explain
>>>>>>>>>>>>>>>>>>>>> how it
>>>>>>>>>>>>>>>>>>>>>>>>>>>> fits
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> into the existing flow (e.g. list offsets,
>> fetch
>>>>>>>>>>>>> offsets,
>>>>>>>>>>>>>>>>>>> etc.).
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DJ02: It my understanding is correct, I
>> wonder if
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the ConsumerGroupHeartbeat API is the right
>> place
>>>>>>>>>> for
>>>>>>>>>>>>>> this
>>>>>>>>>>>>>>>>>>> given
>>>>>>>>>>>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>>>>>>>>>>>> a new
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> round trip is done anyway. Alternatively,
>> it could
>>>>>>>>>>>>> simply
>>>>>>>>>>>>>>>>>>>>> include
>>>>>>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> metadata. Generally, we should be rather
>> cautious
>>>>>>>>>>> about
>>>>>>>>>>>>>> not
>>>>>>>>>>>>>>>>>>>>>>>>>> overloading
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the ConsumerGroupHeartbeat API with
>> unrelated
>>>>>>>>>>> concepts.
>>>>>>>>>>>>>> The
>>>>>>>>>>>>>>>>>>> API
>>>>>>>>>>>>>>>>>>>>> is
>>>>>>>>>>>>>>>>>>>>>>>>>> a
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> control plane API for assigning or revoking
>>>>>>>>>>> partitions.
>>>>>>>>>>>>>> The
>>>>>>>>>>>>>>>>>>> fact
>>>>>>>>>>>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>>>>>>>>>>>> we
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> don't want to add it to the corresponding
>> Streams
>>>>>>>>>> API
>>>>>>>>>>>>>> also
>>>>>>>>>>>>>>>>>>>>> suggests
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> something is not quite right. What would we
>> do if
>>>>>>>>>> we
>>>>>>>>>>>>>> want to
>>>>>>>>>>>>>>>>>>>>>>>>>> support
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Streams in the future?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> David
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Wed, Apr 29, 2026 at 12:28 AM
>> Muralidhar Basani
>>>>>>>>>>> via
>>>>>>>>>>>>>> dev
>>>>>>>>>>>>>>>>> <
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Jiunn,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thank you for this great kip. Good to know
>> about
>>>>>>>>>> the
>>>>>>>>>>>>>> gap.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mb-0 - why a new v2 version bump for
>>>>>>>>>>>>>> RequestPartitionAges
>>>>>>>>>>>>>>>>>>>>> field.
>>>>>>>>>>>>>>>>>>>>>>>>>> Can a
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> tagged field (for ex: on response,
>> PartitionAges
>>>>>>>>>> on
>>>>>>>>>>>>>>>>>>>>>>>>>> TopicPartitions)
>>>>>>>>>>>>>>>>>>>>>>>>>>>> be
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> used here and avoid version bump?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mb-1 - For the new config, is there a
>> recommended
>>>>>>>>>>>>> value
>>>>>>>>>>>>>> or
>>>>>>>>>>>>>>>>> a
>>>>>>>>>>>>>>>>>>>>>>>>>> ConfigDef
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> validator? Probably it should based on the
>>>>>>>>>>>>>>>>>>> metadata.max.age.ms
>>>>>>>>>> <
>> https://urldefense.com/v3/__http://metadata.max.age.ms__;!!Ayb5sqE7!ryUSIElKDF-DJJHgYwYXwp4XEBXpXuBOnZd18PJoMNH4LZ1gc-pDbbdfb2eme_dRSvdvI3bkflKEb5SK$
>>> 
>>>>>>>>>>>>>>>>>>>>> ?
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sizing
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> instructions can be part of javadocs I
>> guess.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mb-2 - (minor) As there are no changes to
>> Kafka
>>>>>>>>>>>>> Streams,
>>>>>>>>>>>>>>>>>>> would
>>>>>>>>>>>>>>>>>>>>> it
>>>>>>>>>>>>>>>>>>>>>>>>>> be
>>>>>>>>>>>>>>>>>>>>>>>>>>>> better
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to add this new config
>>>>>>>>>>>>> auto.offset.reset.latest.max.age
>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> StreamsConfig block list
>>>>>>>>>>>>>>>>>>>>>>>>>> (NON_CONFIGURABLE_CONSUMER_DEFAULT_CONFIGS)
>>>>>>>>>>>>>>>>>>>>>>>>>>>> for a
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> clear warning, incase users configure it?
>> This is
>>>>>>>>>> the
>>>>>>>>>>>>>> most
>>>>>>>>>>>>>>>>>>>>>>>>>> familiar
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> consumer config and users might easily
>> mistakenly
>>>>>>>>>>>>>> configure
>>>>>>>>>>>>>>>>>>>>> it. Or
>>>>>>>>>>>>>>>>>>>>>>>>>>>> may be
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> it's not worth it to add.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mb-3 - (minor) The phrasing "the consumer
>> falls
>>>>>>>>>> back
>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>>>> earliest"
>>>>>>>>>>>>>>>>>>>>>>>>>>>> reads as
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if the config were being changed
>> per-partition
>>>>>>>>>> which
>>>>>>>>>>>>>> isn't
>>>>>>>>>>>>>>>>>>>>>>>>>> supported.
>>>>>>>>>>>>>>>>>>>>>>>>>>>> May
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> be rephrasing to something like "consumer
>> resolves
>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>> initial
>>>>>>>>>>>>>>>>>>>>>>>>>>>> position to
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> start offset for that partition" as if
>> earliest
>>>>>>>>>> was
>>>>>>>>>>>>>> applied
>>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> partition only and auto.offset.reset
>> config is
>>>>>>>>>>>>>> unchanged.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Murali
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Tue, Apr 28, 2026 at 2:48 PM 黃竣陽 <
>>>>>>>>>>>>>> [email protected]>
>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi chia,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I have updated the KIP to include this
>> change.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Jiunn-Yang
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Chia-Ping Tsai <[email protected]> 於
>>>>>>>>>> 2026年4月28日
>>>>>>>>>>>>>> 晚上8:03
>>>>>>>>>>>>>>>>>>> 寫道:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> hi Jiunn-Yang
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> chia_0: Should we expose the partition
>> creation
>>>>>>>>>>> time
>>>>>>>>>>>>>> via
>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>>>>> Admin
>>>>>>>>>>>>>>>>>>>>>>>>>>>> API?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I assume it would be valuable for users to
>>>>>>>>>> diagnose
>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>>>>>>>>>>> troubleshoot
>>>>>>>>>>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> behavior of
>> auto.offset.reset.latest.max.age
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Best,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Chia-Ping
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On 2026/04/28 10:47:58 黃竣陽 wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello everyone,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I would like to start a discussion on
>> KIP-1327
>>>>>>>>>>>>>> Prevent
>>>>>>>>>>>>>>>>> Hot
>>>>>>>>>>>>>>>>>>>>> Data
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Loss
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> on
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Partition Expansion for Latest Policy
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>> https://urldefense.com/v3/__https://cwiki.apache.org/confluence/x/KY4mGQ__;!!Ayb5sqE7!qF4q1QzF1RRgP61D7A2xuEai1ky7fepKDKFFvpNBuePikH-ULmT87TvuuZzy5kau5E4y5zMZAmfQQiwZomM$
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This proposal aims to introduces
>>>>>>>>>>>>>>>>>>>>>>>>>> auto.offset.reset.latest.max.age,
>>>>>>>>>>>>>>>>>>>>>>>>>>>> a
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> consumer config that lets the
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> latest reset policy distinguish newly
>> expanded
>>>>>>>>>>>>> (hot)
>>>>>>>>>>>>>>>>>>>>> partitions
>>>>>>>>>>>>>>>>>>>>>>>>>>>> from
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> long-existing (cold) ones. Partitions
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> younger than the configured threshold
>>>>>>>>>>> automatically
>>>>>>>>>>>>>> fall
>>>>>>>>>>>>>>>>>>>>> back
>>>>>>>>>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> earliest, preventing silent data loss
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> during topic expansion without forcing
>> a full
>>>>>>>>>>>>>> historical
>>>>>>>>>>>>>>>>>>>>>>>>>> reprocess.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Best regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Jiunn-Yang
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>> 
>>> 
>>> 
>>> 
>> 

Reply via email to