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 ? 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