I agree that we should prevent the creation of such a topic configuration. That 
would mean catching it at topic-creation time, as well as catching it on any 
topic-configuration changes that might make min.isr > replication factor.

Not sure how we would detect things if someone changed the broker-default 
configuration. That could be tricky.

Btw, I was the person who filed the original JIRA and as Mickael guessed, it 
was done by mistake.

-James

> On Mar 31, 2020, at 9:30 AM, Ismael Juma <ism...@juma.me.uk> wrote:
> 
> Hi Paolo,
> 
> Thanks for the KIP. Why would one want to set min.isr to be higher than
> replication factor even in that case? Mickael's suggestion seems better to
> me.
> 
> Ismael
> 
> On Fri, Mar 13, 2020 at 10:28 AM Paolo Moriello <paolomoriell...@gmail.com>
> wrote:
> 
>> Hi Mickael,
>> 
>> Thanks for your interest in this. The main motivation to NOT make topic
>> creation fail when this mismatch happens is because at the moment it is
>> possible to produce/consume on topics if acks is not set to all. I'm not
>> sure we want to disable this behavior (as we would by failing at topic
>> creation). That's why I decided to go for a softer approach, which at least
>> gives some more clarity to the users and avoids other issues mentioned in
>> the KIP.
>> 
>> Let's see what others think!
>> 
>> On Fri, 13 Mar 2020 at 17:16, Mickael Maison <mickael.mai...@gmail.com>
>> wrote:
>> 
>>> Hi Paolo,
>>> 
>>> Thanks for looking at this issue. This can indeed be a source of
>> confusion.
>>> 
>>> I'm wondering if we should prevent the creation of topics with
>>> min.insync.replicas > replication.factor?
>>> You listed that as a rejected alternative because it requires more
>>> changes. However, I can't think of any scenarios where a user would
>>> want to create such a topic. I'm guessing it's probably always by
>>> mistake.
>>> 
>>> Let's see what other people think but I think it's worth checking what
>>> needs to be done if we wanted to prevent topics with bogus configs
>>> 
>>> On Fri, Mar 13, 2020 at 3:28 PM Paolo Moriello
>>> <paolomoriell...@gmail.com> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> Following this Jira ticket (
>>> https://issues.apache.org/jira/browse/KAFKA-4680),
>>>> I've created a proposal (
>>>> 
>>> 
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-579%3A+new+exception+on+min.insync.replicas+%3E+replication.factor
>>> )
>>>> to add a new exception/error to be used on min.insync.replicas >
>>>> replication.factor.
>>>> 
>>>> The proposal aims to introduce a new exception specific for the
>>>> configuration mismatch above to be used when producers requires acks =
>>> all.
>>>> At the moment we are using NotEnoughReplicaException, which is a
>>> retriable
>>>> exception and is used to fail on insync replicas < min isr. Plan is to
>>> have
>>>> a new, non-retriable exception, to separate the two cases.
>>>> 
>>>> I've also submitted a PR for the change mentioned above:
>>>> https://github.com/apache/kafka/pull/8225
>>>> 
>>>> Please have a look and let me know what you think.
>>>> 
>>>> Thanks,
>>>> Paolo
>>> 
>> 

Reply via email to