Versions Compared

Key

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

...

Currently Mirrormaker uses deprecated 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`org.apache.kafka.connect.mirror.DefaultConfigPropertyFilter|

DefaultConfigPropertyFilter` by default. The default class excludes certain topic configurations from replication such as follower.replication.throttled.replicas and leader.replication.throttled.replicas. 

However, the deprecated alterConfigs() API replaces any existing configuration with the new configuration. Due to this, additional configurations set on a remote topic get cleared up when MirrorMaker syncs topic configurations whether they are excluded from replication or not. For example this prevents running Cruise Control on the target cluster as it may set follower.replication.throttled.replicas and leader.replication.throttled.replicas.

MirrorMaker should not clear topic configurations that are filtered on the target clusterexcluded from replication.

Public Interfaces

This KIP proposes to migrate to incrementalAlterConfigs API for syncing topic configurations in MirrorMaker. The 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  API. In order not to break the compatibility, we will introduce a new setting to MirrorMaker to give the option to enable incrementalAlterConfigs API for syncing topic configuraMirrorMaker syncs topic configurations whether they are filter or nottions. This new setting is expected to serve as a temporary measure until the next major release when the API is always used. 

...