ecararus commented on pull request #11803:
URL: https://github.com/apache/kafka/pull/11803#issuecomment-1050407569


   When I use mirrormaker it replicates the topics with different name, name of 
target is built based on
   
   sourceClusterAlias + separator + topic  
    
   
   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. 
   
   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; 
   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
   
   @Override
   public String formatRemoteTopic(String sourceClusterAlias, String topic) {
       String targetTopic = topicMap.containsKey(topic) ?  topicMap.get(topic) 
: topic ;
       return super.formatRemoteTopic(sourceClusterAlias,targetTopic);
   }


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to