You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "azher khan (Jira)" <ji...@apache.org> on 2020/04/24 11:06:00 UTC

[jira] [Updated] (KAFKA-9914) Mirror Maker 2 creates heartbeats kafka topics recursively

     [ https://issues.apache.org/jira/browse/KAFKA-9914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

azher khan updated KAFKA-9914:
------------------------------
    Description: 
Hi Team,

I configured Mirror Maker 2 to run on a Pod configuring the Kafka brokers in our environments marking '10.X.X.YY' Kafka broker as primary and '10.X.Y.XY' as backup.

+*Mirror Maker mm2.properties file:*+
{code:java}
clusters=kafka,backup
kafka.bootstrap.servers=10.X.X.YY:9092
backup.bootstrap.servers=10.X.Y.XY:9092
kafka->backup.enabled=true
kafka->backup.topics=az.*
backup->kafka.enabled=false
sync.topic.acls.enabled=true
{code}
 

 

I was able to run Mirror Maker 2 successfully and was also able to take backup of the identified topics (starting with 'az').

 

However I could see many kafka topics with the suffix 'heartbeats' created in recursion (See below the list of topics with 'kafka.*.heartbeats'). This could be because i triggered the 'connect-mirror-maker.sh' several times to test backing up other topics

 

I have 2 queries
 # How to avoid having 'kafka.*.heartbeats' topic being created using Mirror Maker 2
 # Once Mirror Maker 2 has backed up a topic say 'azherf1test' . What is the best way to rollback changes made by Mirror Maker (ie delete all the topics created by Mirror Maker 'kafka.azherf1test' and supporting topics) ensuring the stability of existing/source topics and Kafka broker.

We are testing Mirror Maker and want to ensure we are able to roll back the changes without affecting the Kafka topics/brokers)

+*Kafka Topics list output:*+
{code:java}
azherf1test
 heartbeats
 kafka-client-topic
 mm2-configs.backup.internal
 mm2-configs.kafka.internal
 mm2-offset-syncs.backup.internal
 mm2-offsets.backup.internal
 mm2-offsets.kafka.internal
 mm2-status.backup.internal
 mm2-status.kafka.internal
 kafka.azherf1test
 kafka.checkpoints.internal
 kafka.heartbeats
 kafka.kafka.heartbeats
 kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats{code}

 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
 kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats

  was:
Hi Team,

I configured Mirror Maker 2 to run on a Pod configuring the Kafka brokers in our environments marking '10.X.X.YY' Kafka broker as primary and '10.X.Y.XY' as backup.

// code placeholder
clusters=kafka,backup

kafka.bootstrap.servers=10.X.X.YY:9092

backup.bootstrap.servers=10.X.Y.XY:9092

kafka->backup.enabled=true

kafka->backup.topics=az.*

backup->kafka.enabled=false

sync.topic.acls.enabled=true

 

I was able to run Mirror Maker 2 successfully and was also able to take backup of the identified topics (starting with 'az').

 

However I could see many kafka topics with the suffix 'heartbeats' created in recursion (See below the list of topics with 'kafka.*.heartbeats'). This could be because i triggered the 'connect-mirror-maker.sh' several times to test backing up other topics

 

I have 2 queries
 # How to avoid having 'kafka.*.heartbeats' topic being created using Mirror Maker 2
 # Once Mirror Maker 2 has backed up a topic say 'azherf1test' . What is the best way to rollback changes made by Mirror Maker (ie delete all the topics created by Mirror Maker 'kafka.azherf1test' and supporting topics) ensuring the stability of existing/source topics and Kafka broker.

We are testing Mirror Maker and want to ensure we are able to roll back the changes without affecting the Kafka topics/brokers)


// code placeholder
azherf1test
heartbeats
kafka-client-topic
mm2-configs.backup.internal
mm2-configs.kafka.internal
mm2-offset-syncs.backup.internal
mm2-offsets.backup.internal
mm2-offsets.kafka.internal
mm2-status.backup.internal
mm2-status.kafka.internal
kafka.azherf1test
kafka.checkpoints.internal
kafka.heartbeats
kafka.kafka.heartbeats
kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats


> Mirror Maker 2 creates heartbeats kafka topics recursively
> ----------------------------------------------------------
>
>                 Key: KAFKA-9914
>                 URL: https://issues.apache.org/jira/browse/KAFKA-9914
>             Project: Kafka
>          Issue Type: Bug
>          Components: mirrormaker
>    Affects Versions: 2.0.0
>            Reporter: azher khan
>            Priority: Major
>
> Hi Team,
> I configured Mirror Maker 2 to run on a Pod configuring the Kafka brokers in our environments marking '10.X.X.YY' Kafka broker as primary and '10.X.Y.XY' as backup.
> +*Mirror Maker mm2.properties file:*+
> {code:java}
> clusters=kafka,backup
> kafka.bootstrap.servers=10.X.X.YY:9092
> backup.bootstrap.servers=10.X.Y.XY:9092
> kafka->backup.enabled=true
> kafka->backup.topics=az.*
> backup->kafka.enabled=false
> sync.topic.acls.enabled=true
> {code}
>  
>  
> I was able to run Mirror Maker 2 successfully and was also able to take backup of the identified topics (starting with 'az').
>  
> However I could see many kafka topics with the suffix 'heartbeats' created in recursion (See below the list of topics with 'kafka.*.heartbeats'). This could be because i triggered the 'connect-mirror-maker.sh' several times to test backing up other topics
>  
> I have 2 queries
>  # How to avoid having 'kafka.*.heartbeats' topic being created using Mirror Maker 2
>  # Once Mirror Maker 2 has backed up a topic say 'azherf1test' . What is the best way to rollback changes made by Mirror Maker (ie delete all the topics created by Mirror Maker 'kafka.azherf1test' and supporting topics) ensuring the stability of existing/source topics and Kafka broker.
> We are testing Mirror Maker and want to ensure we are able to roll back the changes without affecting the Kafka topics/brokers)
> +*Kafka Topics list output:*+
> {code:java}
> azherf1test
>  heartbeats
>  kafka-client-topic
>  mm2-configs.backup.internal
>  mm2-configs.kafka.internal
>  mm2-offset-syncs.backup.internal
>  mm2-offsets.backup.internal
>  mm2-offsets.kafka.internal
>  mm2-status.backup.internal
>  mm2-status.kafka.internal
>  kafka.azherf1test
>  kafka.checkpoints.internal
>  kafka.heartbeats
>  kafka.kafka.heartbeats
>  kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats{code}
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats
>  kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.kafka.heartbeats



--
This message was sent by Atlassian Jira
(v8.3.4#803005)