Versions Compared

Key

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

Table of Contents

Status

Current state: Under Discussion

Discussion thread: here

JIRA: here

Motivation

With DefaultReplicationPolicy, the heartbeats topic name is hard-coded. Instead, this should be configurable, so users can avoid collisions with the "heartbeats" topics of other systems.

Public Interfaces

New MirrorConnectorConfig:

NameTypeDefaultDescription
default.replication.policy.heartbeats.topic.nameStringheartbeatsName of the heartbeats topic

Since it is not a significant change, I implemented it in advance. Draft PR: https://github.com/apache/kafka/pull/15200

 

Compatibility, Deprecation, and Migration Plan

  • Since this feature does not change the default topic name, existing users won't be affected, unless they change the property intentionally.
  • If we change the behavior in flight (e.g.: start the MM2 with default: heartbeats topic, stop MM2, then start it with a new custom-heartbeats topic) then the original topic becomes stale/dangling and the MM2 will use the new topic to track the heartbeats

Test Plan

Describe in few sentences how the KIP will be tested. We are mostly interested in system tests (since unit-tests are specific to implementation details). How will we know that the implementation works as expected? How will we know nothing broke?I tested the change manually on 2 local clusters.
I wrote a couple of unit test and also wrote an integration test. However, I am not included the integration test in the PR because it seemed overkill for this small change, I don't want to introduce extra heavyweight tests, to slow down pipeline without a good reason (but, I am happy to include it if you think it is necessary)

Documentation Plan

We should introduce the new property in the 3.8.1 MirrorMaker Common Configs section

Rejected Alternatives

  • Divert from the DefaultReplicationPolicy and use a custom one.

...