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:
Name | Type | Default | Description |
---|---|---|---|
default.replication.policy.heartbeats.topic.name | String | heartbeats | Name 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 newcustom-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?
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.
This is a feasible solution proposed by Chris Egerton KIP-690, however, I think that it would be beneficial for the users to be able to configure the heartbeat topic name with the DefaultReplicationPolicy in an easy, no code way.