Versions Compared

Key

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

...

In MM2, dynamic configuration changes can be achieved occur based on TopicFilter and GroupFilter implementations. For example, the default TopicFilter implementation accepts topic name patterns to be included in the replication, enabling it to add new topics to an already running replication flow. (Similarly, dynamic config change can occur by providing an implementation of TopicFilter and/or GroupFilter which is capable of detecting changes during runtime.) The MirrorSourceConnector periodically polls these filters, picking up any changes in the mirrored topics and/or groups.

The issue occurs when a rebalance step results in the leader stopping its MirrorSourceConnector instance (with small workloads, this can easily happen - the followers get all the MirrorSourceConnectorTasks instead of the leader)and moving it to a follower. Because of this, the leader is not capable of detecting topic or group filter configuration changes by itself. The followers follower running MirrorSourceConnector are is capable of detecting the config change, but as per the Connect workflow, they cannot apply it to the current workload - they need to notify the leader through the REST API. Since REST is not available in dedicated MM2 mode, the notification never reaches the leader, rendering the cluster unable to detect config changes.

...