Versions Compared

Key

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

...

Currently Mirrormaker uses deprecated alterConfigs API AlterConfigs API when syncing topic configurations for broker compatibility to 0.11.0. In addition, Mirromaker has a configurable ConfigPropertyFilter  class to select the topic configuration properties to replicate and uses org.apache.kafka.connect.mirror.DefaultConfigPropertyFilter by default. The default class excludes certain topic configurations from replication such as follower.replication.throttled.replicas and leader.replication.throttled.replicas. 

...

This KIP proposes to migrate to incrementalAlterConfigs the IncrementalAlterConfigs API for syncing topic configurations in MirrorMaker. The incrementalAlterConfigs API IncrementalAlterConfigs API has been around for several years since it was introduced in Kafka 2.3.0 and addresses the shortcoming of the deprecated alterConfigs  AlterConfigs API. In order not to break the compatibility, we will introduce a new setting to MirrorMaker to give the option to enable incrementalAlterConfigs API IncrementalAlterConfigs API for syncing topic configurations. This new setting is expected to serve as a temporary measure until the next major release when the API is always used. 

...

  • Description: Deprecated. Whether to automatically use incrementalAlterConfigs API the IncrementalAlterConfigs API for syncing topic configurations. This configuration will be removed in Kafka 4.0 and the incrementalAlterConfigs API will be used by default. Users should make sure that the target cluster is running at least Kafka 2.3.0 or later. 
  • Type: Boolean
  • Default:

...

  • requested
  • When set to falserequested, MirrorMaker will use the IncrementalAlterConfigs for syncing topic configurations. If it receives an error from an incompatible broker, will use the deprecated the alterConfigs API instead. It will also log a WARN message that says "The target cluster <ALIAS> is not compatible with the IncrementalAlterConfigs API. Therefore using the deprecated AlterConfigs API for syncing topic configurations. ". 
  • When explicitly set to never, MirrorMaker will use the deprecated AlterConfigs keep using deprecated alterConfigs API for syncing topic configurations.
  • When explicitly set to truerequired, MirrorMaker will use incrementalAlterConfigs API the IncrementalAlterConfigs API for syncing topic configurations. If it receives an error from an incompatible broker, the MirrorMaker will report this to the user and fail the connector. It will log an error that says "The target cluster <ALIAS> is not compatible with the IncrementalAlterConfigs API for syncing topic configurations.". 

3) Update syncTopicConfigs()  in MirrorSourceConnector.java to call the updateTopicConfigsUsingIncrementalAlterConfigs() instead of updateTopicConfigs() if enable.incremental.alter.configs is set to true.

...

  • use.incremental.alter.configs will be removed 
  • MirrorMaker will use the incrementalAlterConfigs IncrementalAlterConfigs API to sync topic configurations by default

Users running the latest MirrorMaker connector against a target cluster with brokers older than Kafka 2.3.0, will have to upgrade.

...