You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by David Corley <da...@gmail.com> on 2015/02/23 12:06:12 UTC

Auto topic creation occurring when auto.create.topics.enable=false

Hey all,
I'm trying to run some basic error-handling validation with some client
code, and I'm attempting to handle an UnknownTopicOrPartitionException. To
set this scenario up, I wanted to attempt fetch messages from a topic I
know doesn't exist. To that end, I've got a 3-broker cluster with:
* auto.create.topics.enable=false
* each broker restarted after setting the above

The logs for each broker show the following after the restart:
[2015-02-23 10:13:30,315] INFO Property auto.create.topics.enable is
overridden to false (kafka.utils.VerifiableProperties)

However, every time I try to fetch messages from the broker, I get no
exception, and kafka-list-topics shows the previously non-existent topic is
now created!

I'm using poseidon/poseidon-cluster ruby libraries for the comms, but don't
believe they should be over-riding the broker configuration in terms of
topic creation. Nothing in source code suggests anything, and I don't
believe the protocol allows for it anyway.

We're using Kafka 0.8.0 final for all brokers. Anyone come across this
issue before?

/Dave

Re: Auto topic creation occurring when auto.create.topics.enable=false

Posted by David Corley <da...@gmail.com>.
That I don't know Jun. I dug a little into the Ruby source yesterday, and
it appeared that we might be affected by the ruby client issuing a topic
metadata request explicitly. I was concerned that we were triggering the
behaviour seen in https://issues.apache.org/jira/browse/KAFKA-1507
However, I'll check your suggestion on the ZK bypass.

On 23 February 2015 at 17:32, Jun Rao <ju...@confluent.io> wrote:

> Does the ruby library write to ZK directly to create topics? That will
> bypass the checking on the broker side.
>
> Thanks,
>
> Jun
>
> On Mon, Feb 23, 2015 at 3:06 AM, David Corley <da...@gmail.com>
> wrote:
>
> > Hey all,
> > I'm trying to run some basic error-handling validation with some client
> > code, and I'm attempting to handle an UnknownTopicOrPartitionException.
> To
> > set this scenario up, I wanted to attempt fetch messages from a topic I
> > know doesn't exist. To that end, I've got a 3-broker cluster with:
> > * auto.create.topics.enable=false
> > * each broker restarted after setting the above
> >
> > The logs for each broker show the following after the restart:
> > [2015-02-23 10:13:30,315] INFO Property auto.create.topics.enable is
> > overridden to false (kafka.utils.VerifiableProperties)
> >
> > However, every time I try to fetch messages from the broker, I get no
> > exception, and kafka-list-topics shows the previously non-existent topic
> is
> > now created!
> >
> > I'm using poseidon/poseidon-cluster ruby libraries for the comms, but
> don't
> > believe they should be over-riding the broker configuration in terms of
> > topic creation. Nothing in source code suggests anything, and I don't
> > believe the protocol allows for it anyway.
> >
> > We're using Kafka 0.8.0 final for all brokers. Anyone come across this
> > issue before?
> >
> > /Dave
> >
>

Re: Auto topic creation occurring when auto.create.topics.enable=false

Posted by Jun Rao <ju...@confluent.io>.
Does the ruby library write to ZK directly to create topics? That will
bypass the checking on the broker side.

Thanks,

Jun

On Mon, Feb 23, 2015 at 3:06 AM, David Corley <da...@gmail.com> wrote:

> Hey all,
> I'm trying to run some basic error-handling validation with some client
> code, and I'm attempting to handle an UnknownTopicOrPartitionException. To
> set this scenario up, I wanted to attempt fetch messages from a topic I
> know doesn't exist. To that end, I've got a 3-broker cluster with:
> * auto.create.topics.enable=false
> * each broker restarted after setting the above
>
> The logs for each broker show the following after the restart:
> [2015-02-23 10:13:30,315] INFO Property auto.create.topics.enable is
> overridden to false (kafka.utils.VerifiableProperties)
>
> However, every time I try to fetch messages from the broker, I get no
> exception, and kafka-list-topics shows the previously non-existent topic is
> now created!
>
> I'm using poseidon/poseidon-cluster ruby libraries for the comms, but don't
> believe they should be over-riding the broker configuration in terms of
> topic creation. Nothing in source code suggests anything, and I don't
> believe the protocol allows for it anyway.
>
> We're using Kafka 0.8.0 final for all brokers. Anyone come across this
> issue before?
>
> /Dave
>