Yeah, the reason why we want to deprecate the auto create functionality is
that it happens when a metadata request is done instead of when a write
operation happens. So, there's no reason to differentiate between the two.

Ismael

On Thu, Aug 23, 2018 at 8:16 AM Andrew Otto <o...@wikimedia.org> wrote:

> Ah, I just realized that as proposed this is only for the Java consumer
> client, correct?  Would it be possible to make this a broker config, like
> the current one?  Something like:
>
> auto.create.topics.enable=true # allow both producer and consumer to create
> auto.create.topics.enable=consumer # allow only consumer to create
> auto.create.topics.enable=producer # allow only producer to create
> auto.create.topics.enable=false # deny any auto topic creation
>
> Perhaps the broker doesn’t differentiate between the type of client
> connection. If not, I guess this wouldn’t be possible.
>
>
>
> On Thu, Aug 23, 2018 at 11:08 AM Andrew Otto <o...@wikimedia.org> wrote:
>
> > Yup :)
> >
> > On Thu, Aug 23, 2018 at 11:04 AM Ismael Juma <ism...@juma.me.uk> wrote:
> >
> >> Andrew, one question: you are relying on auto topic creation for the
> >> producer and that's why you can't just disable it?
> >>
> >> On Thu, Aug 23, 2018 at 8:01 AM Ismael Juma <ism...@juma.me.uk> wrote:
> >>
> >> > Thanks for sharing Andrew!
> >> >
> >> > Ismael
> >> >
> >> > On Thu, Aug 23, 2018 at 7:57 AM Andrew Otto <o...@wikimedia.org>
> wrote:
> >> >
> >> >> We recently had a pretty serious Kafka outage
> >> >> <
> >> >>
> >>
> https://wikitech.wikimedia.org/wiki/Incident_documentation/20180711-kafka-eqiad#Summary
> >> >> >
> >> >> caused by a bug in one of our consumers that caused it to create new
> >> >> topics
> >> >> in an infinite loop AKA a topic bomb!  Having consumers restricted
> from
> >> >> creating topics would have prevented this for us.
> >> >>
> >> >> On Thu, Aug 23, 2018 at 4:27 AM Ismael Juma <ism...@juma.me.uk>
> wrote:
> >> >>
> >> >> > Generally, I think positive configs (`allow` instead of `suppress`)
> >> are
> >> >> > easier to understand.
> >> >> >
> >> >> > Ismael
> >> >> >
> >> >> > On Wed, Aug 22, 2018 at 11:05 PM Matthias J. Sax <
> >> matth...@confluent.io
> >> >> >
> >> >> > wrote:
> >> >> >
> >> >> > > Thanks for the summary!
> >> >> > >
> >> >> > > We might want to add a diagram/table to the docs when we add this
> >> >> > > feature (with whatever config name we choose) to explain how
> broker
> >> >> > > config `auto.create.topics.enable` and the consumer config work
> >> >> together.
> >> >> > >
> >> >> > > I think both options are equally easy to understand. "allow"
> means
> >> >> > > follow the broker config, while "suppress" implies ignore the
> >> broker
> >> >> > > config and don't auto-create.
> >> >> > >
> >> >> > >
> >> >> > > -Matthias
> >> >> > >
> >> >> > >
> >> >> > > On 8/22/18 10:36 PM, Dhruvil Shah wrote:
> >> >> > > > *"suppress" is the opposite of "allow", so
> >> >> > > > setting suppress.auto.create.topics=false would mean that we do
> >> >> _not_
> >> >> > > allow
> >> >> > > > auto topic creation; when set to true, the server configuration
> >> will
> >> >> > > > determine whether we allow automatic creation or not.*
> >> >> > > >
> >> >> > > > Sorry, I meant suppress.auto.create.topics=true above to
> disallow
> >> >> auto
> >> >> > > > topic creation.
> >> >> > > >
> >> >> > > >
> >> >> > > > On Wed, Aug 22, 2018 at 10:34 PM Dhruvil Shah <
> >> dhru...@confluent.io
> >> >> >
> >> >> > > wrote:
> >> >> > > >
> >> >> > > >> To be clear, we will allow auto topic creation only when
> server
> >> >> config
> >> >> > > >> auto.create.topics.enable=true and consumer config
> >> >> > > >> allow.auto.create.topics=true; when either is false, we would
> >> not
> >> >> > create
> >> >> > > >> the topic if it does not exist.
> >> >> > > >>
> >> >> > > >> "suppress" is the opposite of "allow", so
> >> >> > > >> setting suppress.auto.create.topics=false would mean that we
> do
> >> >> _not_
> >> >> > > allow
> >> >> > > >> auto topic creation; when set to true, the server
> configuration
> >> >> will
> >> >> > > >> determine whether we allow automatic creation or not.
> >> >> > > >>
> >> >> > > >> I think "allow" is easier to understand but I am open to
> >> >> suggestions.
> >> >> > > >>
> >> >> > > >> - Dhruvil
> >> >> > > >>
> >> >> > > >> On Wed, Aug 22, 2018 at 6:53 PM Brandon Kirchner <
> >> >> > > >> brandon.kirch...@gmail.com> wrote:
> >> >> > > >>
> >> >> > > >>> “allow=false” seems a bit more intuitive to me than
> >> >> “suppress=false”
> >> >> > > >>>
> >> >> > > >>> Brandon
> >> >> > > >>>
> >> >> > > >>>> On Aug 22, 2018, at 8:48 PM, Ted Yu <yuzhih...@gmail.com>
> >> wrote:
> >> >> > > >>>>
> >> >> > > >>>> We may also consider :
> >> >> > > >>>>
> >> >> > > >>>> "suppress.auto.topic.creation"
> >> >> > > >>>>
> >> >> > > >>>> or
> >> >> > > >>>>
> >> >> > > >>>> "allow.auto.topic.creation"
> >> >> > > >>>>
> >> >> > > >>>> w.r.t. suppress or allow, I don't have strong opinion
> either.
> >> >> It's
> >> >> > > just
> >> >> > > >>> a
> >> >> > > >>>> matter of choosing the proper default value.
> >> >> > > >>>>
> >> >> > > >>>> Cheers
> >> >> > > >>>>
> >> >> > > >>>>> On Wed, Aug 22, 2018 at 6:00 PM Dhruvil Shah <
> >> >> dhru...@confluent.io
> >> >> > >
> >> >> > > >>> wrote:
> >> >> > > >>>>>
> >> >> > > >>>>> Hi Matthias,
> >> >> > > >>>>>
> >> >> > > >>>>> Do you mean something like "suppress.auto.create.topic"? I
> am
> >> >> > leaning
> >> >> > > >>> a bit
> >> >> > > >>>>> towards "allow.auto.create.topics" but I don't have a
> strong
> >> >> > > preference
> >> >> > > >>>>> either. Let's wait to hear if anyone else has an opinion on
> >> >> this.
> >> >> > > >>>>>
> >> >> > > >>>>> Thanks,
> >> >> > > >>>>> Dhruvil
> >> >> > > >>>>>
> >> >> > > >>>>> On Tue, Aug 21, 2018 at 5:28 PM Matthias J. Sax <
> >> >> > > matth...@confluent.io
> >> >> > > >>>>
> >> >> > > >>>>> wrote:
> >> >> > > >>>>>
> >> >> > > >>>>>> Thanks for the KIP Dhruvil!
> >> >> > > >>>>>>
> >> >> > > >>>>>> I agree with Jason's comment. An alternative might be to
> use
> >> >> > > >>> "suppress"
> >> >> > > >>>>>> what would revert the logic of "allow". Not sure which one
> >> is
> >> >> more
> >> >> > > >>>>>> intuitive and I am fine with both (no personal
> preference).
> >> >> Just
> >> >> > > >>> wanted
> >> >> > > >>>>>> to mention it as an alternative.
> >> >> > > >>>>>>
> >> >> > > >>>>>> Don't have any further comments/question so far.
> >> >> > > >>>>>>
> >> >> > > >>>>>>
> >> >> > > >>>>>> -Matthias
> >> >> > > >>>>>>
> >> >> > > >>>>>>
> >> >> > > >>>>>>
> >> >> > > >>>>>>> On 8/21/18 4:42 PM, Jason Gustafson wrote:
> >> >> > > >>>>>>> Hey Dhruvil,
> >> >> > > >>>>>>>
> >> >> > > >>>>>>> I would suggest using the verb "allow" rather than
> "enable.
> >> >> The
> >> >> > > >>>>> consumer
> >> >> > > >>>>>>> cannot enable auto topic creation because it is
> configured
> >> on
> >> >> the
> >> >> > > >>>>> broker.
> >> >> > > >>>>>>> All it can do is prevent it from happening if it is
> >> enabled.
> >> >> > > >>>>>>>
> >> >> > > >>>>>>> -Jason
> >> >> > > >>>>>>>
> >> >> > > >>>>>>> On Tue, Aug 21, 2018 at 3:56 PM, Dhruvil Shah <
> >> >> > > dhru...@confluent.io>
> >> >> > > >>>>>> wrote:
> >> >> > > >>>>>>>
> >> >> > > >>>>>>>> Hi,
> >> >> > > >>>>>>>>
> >> >> > > >>>>>>>> I would like to start discussion on KIP-361 that
> proposes
> >> we
> >> >> > add a
> >> >> > > >>>>>> consumer
> >> >> > > >>>>>>>> configuration to disable auto topic creation.
> >> >> > > >>>>>>>>
> >> >> > > >>>>>>>> Link to the KIP:
> >> >> > > >>>>>>>>
> >> >> > > >>>>>>
> >> >> > > >>>>>
> >> >> > > >>>
> >> >> > >
> >> >> >
> >> >>
> >>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-361%3A+Add+Consumer+
> >> >> > > >>>>>>>> Configuration+to+Disable+Auto+Topic+Creation
> >> >> > > >>>>>>>>
> >> >> > > >>>>>>>> Suggestions and feedback are welcome!
> >> >> > > >>>>>>>>
> >> >> > > >>>>>>>> Thanks,
> >> >> > > >>>>>>>> Dhruvil
> >> >> > > >>>>>>>>
> >> >> > > >>>>>>>
> >> >> > > >>>>>>
> >> >> > > >>>>>>
> >> >> > > >>>>>
> >> >> > > >>>
> >> >> > > >>
> >> >> > > >
> >> >> > >
> >> >> > >
> >> >> >
> >> >>
> >> >
> >>
> >
>

Reply via email to