You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Eugeniu Cararus (Jira)" <ji...@apache.org> on 2022/02/24 22:53:00 UTC
[jira] [Created] (KAFKA-13691) Rename target topic to custom name.
Eugeniu Cararus created KAFKA-13691:
---------------------------------------
Summary: Rename target topic to custom name.
Key: KAFKA-13691
URL: https://issues.apache.org/jira/browse/KAFKA-13691
Project: Kafka
Issue Type: Improvement
Components: config, mirrormaker
Affects Versions: 2.7.2, 2.4.1
Reporter: Eugeniu Cararus
When I use mirrormaker it replicates the topics with different name, name of target is built based on
{code:java}
sourceClusterAlias + separator + topic {code}
implementation is [here|https://github.com/apache/kafka/blob/trunk/connect/mirror-client/src/main/java/org/apache/kafka/connect/mirror/DefaultReplicationPolicy.java#L49].
Proposed improvement consist in:
Adding new config property key: target.replication.policy.topic_map
E.I.
{code:java}
source-> target.replication.policy.class= org.apache.kafka.connect.mirror.RenameTopicReplicationPolicy
source->target.replication.policy.separator = .
source->target.replication.policy.topic_map= SOURCER_TOPIC_A,DESTINATION_TOPIC_A; SOURCER_TOPIC_B,DESTINATION_TOPIC_B; {code}
and add new RenameTopicReplicationPolicy which will be responsible to:
1. override configure method load target.replication.policy.topic_map into a Map where Key is source topic name and value is target topic name
2. override formatRemoteTopic so the target topic name will be loaded based on config
{code:java}
@Override
public String formatRemoteTopic(String sourceClusterAlias, String topic) {
String targetTopic = topicMap.containsKey(topic) ? topicMap.get(topic) : topic ;
return super.formatRemoteTopic(sourceClusterAlias,targetTopic);
} {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)