James,
the create.topic.policy exists in 0.10.2 and for example all intermediate 
topics created by Kafka Stream (which has its own Admin Client) go through 
it.

Topics created via Zookeeper won't be subject to the policy, but that 
stays the same in 0.11

For our users, we have kept zookeeper inaccessible to clients via network 
rules, and allow clients to use either the Kafka API (and by that I mean 
the wire protocol),
for which a client needs to write a bit of code e.g. hacking Streams' 
AdminClient,
or a REST interface (which goes through Kafka's API) to create topics, 
hence the policy applies.

ciao,
Edo
--------------------------------------------------

Edoardo Comar

IBM Message Hub

IBM UK Ltd, Hursley Park, SO21 2JN



From:   James Cheng <wushuja...@gmail.com>
To:     dev@kafka.apache.org
Date:   27/06/2017 09:15
Subject:        Re: Minimum Replication Factor



The create.topic.policy stuff I think is only used as part of the new 
CreateTopic broker API that's coming in 0.11. That's one of the 
administrative APIs which let you create topics by talking directly to the 
broker, without needing to talk to zookeeper directly. 

So this means your brokers will need to be at 0.11 for this to be applied. 
And Kafka Streams will need to be updated to use this API in order for the 
policy to be applied and I don't recall seeing that Kafka Streams was 
updated to use this in 0.11. 

And lastly, I think that it won't be applied if you use the 
Kafka-topics.sh script, because that still talks directly to zookeeper.

For us, we plan to run regular auditing scripts to notice topics with 
replication factors that are too low, and notify us to increase them (or 
automatically do it).

-James

Sent from my iPhone

> On Jun 23, 2017, at 12:32 PM, Stephane Maarek 
<steph...@simplemachines.com.au> wrote:
> 
> That’s the first time I see this setting, wow it was burried!
> I think it makes sense to implement one to get full control. 
> 
> I wonder if it’s still not worth implementing a simple setting, or 
implementing a few “simple” topic creation policies that users can just 
reference. I don’t see that interface being implemented anywhere
> 
> 
> On 23/6/17, 6:43 pm, "Edoardo Comar" <eco...@uk.ibm.com> wrote:
> 
>    Hi Stephane,
>    we enforce the constraint in a custom create topic policy (see '
>    create.topic.policy.class.name')
>    --------------------------------------------------
>    Edoardo Comar
>    IBM Message Hub
>    eco...@uk.ibm.com
>    IBM UK Ltd, Hursley Park, SO21 2JN
> 
> 
> 
> 
>    From:   Stephane Maarek <steph...@simplemachines.com.au>
>    To:     "dev@kafka.apache.org" <dev@kafka.apache.org>
>    Date:   23/06/2017 01:48
>    Subject:        Minimum Replication Factor
> 
> 
> 
>    Hi all,
> 
> 
> 
>    Interested in getting people’s opinion on something.
> 
>    The problem I have is that some people launch streams app in our 
cluster 
>    but forget to set a replication factor > 1. Then it’s a pain to 
increase 
>    the topic’s RF, when we do notice some topic partitions go offline 
because 
>    we reboot brokers. 
> 
> 
> 
>    I have two solutions for this, which I’m interested in hearing:
>    Make the replication.factor in Kafka Streams “opiniated / smart” by 

>    changing the default to a dynamic min(3, # brokers).
>    Create a “minimum.replication.factor” in Kafka broker settings. If 
any 
>    topic is trying to be created using a RF less than the min, Kafka 
says no 
>    and doesn’t create the topic. That would ensure no topics get “
miscreated” 
>    in production clusters and ease the pain on both devs, devops and 
support.
> 
> 
>    Thoughts? 
> 
>    My preference goes towards 2). 
> 
> 
> 
>    Cheers!
> 
>    Stephane 
> 
> 
> 
> 
>    Unless stated otherwise above:
>    IBM United Kingdom Limited - Registered in England and Wales with 
number 
>    741598. 
>    Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire 
PO6 3AU
> 
> 
> 
> 




Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

Reply via email to