Hi Jun,
When a user adds an existing topic to a share group subscription, we do use the 
auto.offset.reset policy because those partitions already exist and may well 
have data on them. We only use 0 in the case where a topic already being 
consumed gained some additional new partitions. These partitions will be empty 
at the time of creation, so zero seems like a reasonable starting point. 
Partitions being consumed in a share group always have a known starting 
position once assigned. We don't have the equivalent of a consumer group not 
having a committed offset.

Thanks,
Andrew

On 2026/06/26 17:36:31 Jun Rao via dev wrote:
> Hi, Andrew,
> 
> Thanks for the reply.
> 
> I am not sure it's always a good idea to start new partitions with offset 0
> for the share group. For example, once a share group starts, a user could
> add a subscription to an existing topic. That existing topic could have a
> large backlog and starting it with offset 0 forces the user to consume that
> entire backlog. In KIP-1327, such a partition will be treated as an
> existing partition and will follow the auto.offset.reset policy. This seems
> more intuitive. It would be useful to consider if the share group should
> adopt the same policy.
> 
> Jun
> 
> On Fri, Jun 26, 2026 at 3:42 AM Andrew Schofield <[email protected]>
> wrote:
> 
> > Hi Jiunn-Yang et al.,
> > Some background on the problem I hinted at for the KIP-932 implementation.
> > KIP-932 states "If the number of partitions is increased for a topic with a
> > subscription in a share group, the SPSO for the newly created
> > share-partitions is initialized to 0 (which is of course both the earliest
> > and latest offset for an empty topic-partition). This means there is no
> > doubt about what happens when the number of partitions is increased."
> >
> > The problem was that we had not implemented the use of 0, but instead were
> > using the share.auto.offset.reset config to choose the initial offset in
> > this case. We write a ShareGroupStatePartitionMetadata record when a topic
> > is first being initialized for consumption by a share group, and this
> > contains a list of the partitions which we are initializing. As a result, I
> > believe we can already tell when partitions are added, and we do know when
> > to initialize to 0 as it says in the KIP. We will put in a patch that uses
> > 0 as intended.
> >
> > I do not mind whether we want to incorporate share groups into KIP-1327,
> > but I do not think that it is necessary to do so.
> >
> > Thanks,
> > Andrew
> >
> > On 2026/06/26 04:31:28 Chia-Ping Tsai wrote:
> > > > JR5. Since this changes the on-disk data format for PartitionRecord, we
> > > > need to gate this by a new MV. It also changes the format of
> > > > ConsumerGroupMetadataValue, so we need to gate it too. I'm not sure if
> > this
> > > > requires a new MV or a new GV.
> > >
> > > That is a good point. If we want to maintain consistency for the
> > NewPartitions field when the group coordinator migrates between new and old
> > binaries, a version gate is definitely required. For example:
> > >
> > > GV_2(2, MetadataVersion.IBP_4_4_IV0, Map.of())
> > >
> > > The group coordinator should NOT set the NewPartitions field when the gv
> > is smaller than gv_2
> > >
> > > Best,
> > > Chia-Ping
> > >
> > > On 2026/06/25 20:01:39 Jun Rao via dev wrote:
> > > > Hi, Jiunn-Yang,
> > > >
> > > > JR2. We should try to maintain consistency across our APIs. So, it
> > would be
> > > > useful to understand if the user-facing part of this KIP is what share
> > > > consumer wants too. It would be problematic if we proceed with this
> > > > approach only for the share consumer to choose a different one later.
> > > >
> > > > JR3. I was thinking that if we add the NewPartitions field in
> > > > GroupHeartbeatResponse, there is no need to expose the group/partition
> > > > creation timestamp to other RPCs and the Cli.
> > > >
> > > > JR5. Since this changes the on-disk data format for PartitionRecord, we
> > > > need to gate this by a new MV. It also changes the format of
> > > > ConsumerGroupMetadataValue, so we need to gate it too. I'm not sure if
> > this
> > > > requires a new MV or a new GV.
> > > >
> > > > Thanks,
> > > >
> > > > Jun
> > > >
> > > > On Thu, Jun 25, 2026 at 5:52 AM 黃竣陽 <[email protected]> wrote:
> > > >
> > > > > Hello Jun, chia,
> > > > >
> > > > > Thanks for your feedback.
> > > > >
> > > > > JR3 JR4 I have updated the KIP.
> > > > >
> > > > > JR2 The new-partition detection mechanism is reusable. The
> > coordinator
> > > > > already has
> > > > > access to both timestamps required for classification, so the
> > > > > determination can be made
> > > > > server-side without introducing any new RPCs. The main difference is
> > where
> > > > > the policy is
> > > > > enforced: modern consumer resolves it on the client, whereas a share
> > group
> > > > > resolves the
> > > > > starting offset on the partition leader. As a result, the
> > classification
> > > > > decision would need to
> > > > > be propagated through the existing share-state initialization path.
> > We
> > > > > would also need to persist
> > > > > the group's creation time as part of the share-group state, since
> > that
> > > > > information is not stored today.
> > > > >
> > > > > None of this is a blocker, but it does require changes to the
> > share-state
> > > > > format and introduces
> > > > > a share-specific configuration. Given that additional scope, I would
> > > > > prefer to keep share groups out
> > > > > of scope for this KIP and address them in a follow-up effort, while
> > > > > documenting the relevant reuse
> > > > > opportunities here.
> > > > >
> > > > > Best Regards,
> > > > > Jiunn-Yang
> > > > >
> > > > > > Chia-Ping Tsai <[email protected]> 於 2026年6月25日 下午1:31 寫道:
> > > > > >
> > > > > >> It inspires me to think about mirror clusters. What if the mirror
> > group
> > > > > is created 'after' the expanded partitions? In this scenario, the new
> > > > > configuration 'max.age.ms' could handle it if users are aware of the
> > > > > migration and set a suitable time interval. Of course, this would
> > require
> > > > > both creation times to be exposed to clients.
> > > > > >
> > > > > > Thinking more about the mirror cluster scenario we discussed, I
> > realize
> > > > > it introduces significant complexity. Handling it properly would
> > require a
> > > > > tolerance time window rather than a strict time interval to account
> > for
> > > > > replication lag. To prevent scope creep and keep KIP-1327 focused on
> > its
> > > > > primary goal, I think it would be best to defer the
> > multi-cluster/mirroring
> > > > > scenario and explore those approaches in a separate KIP
> > > > > >
> > > > > > On 2026/06/24 21:29:19 Chia-Ping Tsai wrote:
> > > > > >> hi all,
> > > > > >>
> > > > > >>> JR3. The KIP exposes the group/partition creation time to the
> > client.
> > > > > I am
> > > > > >>> not sure if there are other use cases for those timestamps. An
> > > > > alternative
> > > > > >>> is to avoid exposing those timestamps to the client. The group
> > > > > coordinator
> > > > > >>> will categorize the partitions using those timestamps and
> > include the
> > > > > >>> categorization in the assigned partitions in
> > GroupHeartbeatResponse.
> > > > > >>
> > > > > >> It inspires me to think about mirror clusters. What if the mirror
> > group
> > > > > is created 'after' the expanded partitions? In this scenario, the new
> > > > > configuration 'max.age.ms' could handle it if users are aware of the
> > > > > migration and set a suitable time interval. Of course, this would
> > require
> > > > > both creation times to be exposed to clients.
> > > > > >>
> > > > > >> Best,
> > > > > >> Chia-Ping
> > > > > >>
> > > > > >> On 2026/06/24 20:46:16 Jun Rao via dev wrote:
> > > > > >>> Hi, Jiunn-Yang,
> > > > > >>>
> > > > > >>> Thanks for the updated KIP.
> > > > > >>>
> > > > > >>> JR2. Share consumer (KIP-932) states: "If the number of
> > partitions is
> > > > > >>> increased for a topic with a subscription in a share group, the
> > SPSO
> > > > > for
> > > > > >>> the newly created share-partitions is initialized to 0 ".
> > However, this
> > > > > >>> part has not been implemented yet. Currently, all partitions
> > without
> > > > > offset
> > > > > >>> follows the strategy given by share.auto.offset.reset. So, we
> > have an
> > > > > >>> opportunity to see if it's better to align this KIP's changes
> > with the
> > > > > >>> share consumer.
> > > > > >>> JR2.1 The first part is whether customizing the offset for new
> > > > > partitions
> > > > > >>> to something other than 0 is useful in the share consumer. It
> > seems
> > > > > that
> > > > > >>> the motivation in this KIP applies to share consumer too.
> > > > > >>> JR2.2 The second part is how new partitions are detected. The
> > mechanism
> > > > > >>> introduced in this KIP seems quite effective. A group
> > coordinator could
> > > > > >>> pick up newly created partitions for an existing topic or newly
> > created
> > > > > >>> topics matching the regex. Those partitions are categorized as
> > new
> > > > > >>> partitions and will follow the strategy given by
> > > > > >>> auto.offset.reset.new.partitions.
> > > > > >>> This makes sense since those partitions typically don't have a
> > large
> > > > > >>> backlog. A consumer could also additionally subscribe to an
> > existing
> > > > > topic
> > > > > >>> in an existing group. Those partitions will be categorized as
> > existing
> > > > > >>> partitions. This also makes sense since those partitions could
> > have a
> > > > > large
> > > > > >>> backlog and it is better to follow the strategy given by
> > > > > auto.offset.reset. It
> > > > > >>> will be useful to think through whether the logic for
> > categorizing new
> > > > > >>> partitions should also be reused in the share consumer.
> > > > > >>>
> > > > > >>> JR3. The KIP exposes the group/partition creation time to the
> > client.
> > > > > I am
> > > > > >>> not sure if there are other use cases for those timestamps. An
> > > > > alternative
> > > > > >>> is to avoid exposing those timestamps to the client. The group
> > > > > coordinator
> > > > > >>> will categorize the partitions using those timestamps and
> > include the
> > > > > >>> categorization in the assigned partitions in
> > GroupHeartbeatResponse.
> > > > > >>>
> > > > > >>> JR4. It would be useful to support this feature on existing
> > groups as
> > > > > well.
> > > > > >>> For example, any partition without a creation timestamp can
> > always be
> > > > > >>> categorized as an existing partition.
> > > > > >>>
> > > > > >>> Jun
> > > > > >>>
> > > > > >>> On Wed, Jun 24, 2026 at 6:12 AM 黃竣陽 <[email protected]> wrote:
> > > > > >>>
> > > > > >>>> 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