Hi Gaurav,

Its more about being able to reduce the required number of replicas when you 
have a cluster distributed across multiple racks/DCs.

As a basic example if you have a 4 broker cluster across two Racks/DCs/Regions 
any topic you create you will need to have to have a RF >= 3 and 
min.insync.replicas of at least 3 to guarantee there was at least one replica 
on each Racks/DCs/Regions for site failure resilience.
That's 3 sets of acks and (associated latency) required for the message to be 
committed.

This gets even trickier the more Racks/DCs/Regions you are spread across.

By setting min.insync.racks=2 and min.insync.replicas=2 you only need 2 acks.

As a secondary benefit, if you have a topic with a replication factor of 2 then 
it's possible for both replicas to end up in the one Rack/DC/Region if the 
original partition placement logic doesn't spread it across multiple racks or 
if someone has manually moved partitions around for whatever reason.

Karl


________________________________
From: Gaurav Narula <[email protected]>
Sent: 05 March 2026 14:50
To: [email protected] <[email protected]>
Subject: Re: [DISCUSS] KIP-1290: Rack-Aware Minimum In-Sync Replicas

Hi Karl,

Thanks for the KIP. I'm intrigued behind the motivation. Usually we see the 
number of replicas to be <= number of fault domains. I'm curious to know what's 
the motivation behind running with a higher replica count - as in what's the 
extra number of copies getting you?

Regards,
Gaurav

> On 5 Mar 2026, at 13:39, Karl Sorensen <[email protected]> wrote:
>
> Hi,
>
> I haven't had any replies on this so just bumping.
>
> I've got a patch that I've tested.
>
> Thanks
> Karl
>
>
> ________________________________
> From: Karl Sorensen <[email protected]>
> Sent: 25 February 2026 11:27
> To: [email protected] <[email protected]>
> Subject: [DISCUSS] KIP-1290: Rack-Aware Minimum In-Sync Replicas
>
> Hi,
>
> I'd like to start a discussion about KIP-1290
> https://cwiki.apache.org/confluence/x/ao48G
>
> This proposes adding a new config min.insync.racks to ensure producers write 
> to replicas spread across multiple racks.
>
> Let me know if you have any questions.
>
> Thanks
> Karl

Reply via email to