Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

NameDescriptionTypeDefaultValid ValuesImportance
allow.auto.create.topics.enableConfigures how topic auto-creation will occur. 'False' does allow Enable auto-creation of topics on the producer. Even if the broker config `auto.create.topics.enable` does not allow auto-creation server-side, topics can still be created automatically client-side.booleantopic creation. 'Server-side' allows the server to create the topic if the broker's 'auto.create.topics.enable' is true. 'Client-side' creates the topic client-side. Client-side auto-creation is only supported by brokers with version greater than 0.10.1.1.Stringserver-side[false, server-side, client-side]falsemedium
auto.create.num.partitionsThe default number of log partitions per topic for auto-created topics. This value is only used if the broker's auto-creation configuration has been disabled and the producer's config has been enabled.int-1
medium
auto.create.replication.factor

The default replication factor for automatically created topics. This value is only used if the broker's auto-creation configuration has been disabled and the producer's config has been enabled.

int-1
medium


The goal is to deprecate automatic topic creation on the broker. At some point in the future, it may be useful to set the broker's auto.create.topics.enable default to false. However, for compatibility reasons, doing so is not possible at this time. Likewise, it would make sense to eventually change the default of the consumer's allow.auto.create.topics to false since it has no effect if the broker configuration is false. 

...

In order to automatically create topics with the producer, the producer's s allow.auto.create.topics .enable config must be set to true'client-side.'  If the broker does not support KIP 464, auto.create.num.partitions and auto.create.replication.factor must be specified. 

...

This KIP does not plan on changing the broker default. However, it is useful to understand compatibility issues if this were to happen. 

    • By default, 'server-side' auto-creation is used. The broker's 'auto.create.topics.enable' must be configured as true.
      • Although the broker config and server-side auto-creation is deprecated, this is the default to ensure compatibility.
    • Systems that rely on auto-creation would be encouraged to set the producer config auto.create.topics.enable to true, but could also rely on 'client-side.'
      • This will effectively override the deprecated broker config, so even if it is
      enabled
      • configured to true, the server will not auto-create topics.
      • Systems with older broker versions would need to set auto.create.num.partitions and auto.create.replication.factor upon allowing producer 'client-side' auto-creation.Enabling the configuration on the broker and the producer should not have any negative consequences, but there is no benefit in enabling both either. Broker-side defaults for partitions, replication factor will be used.
    • Systems that utilize auto-creation on the consumer will no longer be able to do so with only the producer config enabled.
      • Enabling the broker config or making further changes to the code is required.

...