Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-14898

[ MirrorMaker ] sync.topic.configs.enabled not working as expected

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.4.0
    • 3.5.0
    • mirrormaker

    Description

      Hello,

      In my replication set up , i do not want to sync the topic configs, the use case is to have different retention time for the topic on the target cluster, I am passing the config

       sync.topic.configs.enabled = false

      but this is not working as expected the topic retention time is being set to whatever is being set in the source cluster, looking at the mirrormaker logs i can see that MirrorSourceConnector is still setting the above config as true

      [2023-04-12 17:04:55,184] INFO [MirrorSourceConnector|task-8] ConsumerConfig values:
              allow.auto.create.topics = true
              auto.commit.interval.ms = 5000
              auto.include.jmx.reporter = true
              auto.offset.reset = earliest
              bootstrap.servers = [sourcecluster.com:9092]
              check.crcs = true
              client.dns.lookup = use_all_dns_ips
              client.id = consumer-null-2
              client.rack =
              connections.max.idle.ms = 540000
              default.api.timeout.ms = 60000
              enable.auto.commit = false
              exclude.internal.topics = true
              fetch.max.bytes = 52428800
              fetch.max.wait.ms = 500
              fetch.min.bytes = 1
              group.id = null
              group.instance.id = null
              heartbeat.interval.ms = 3000
              interceptor.classes = []
              internal.leave.group.on.close = true
              internal.throw.on.fetch.stable.offset.unsupported = false
              isolation.level = read_uncommitted
              key.deserializer = class org.apache.kafka.common.serialization.ByteArrayDeserializer
              max.partition.fetch.bytes = 1048576
              max.poll.interval.ms = 300000
              max.poll.records = 500
              metadata.max.age.ms = 300000
              metric.reporters = []
              metrics.num.samples = 2
              metrics.recording.level = INFO
              metrics.sample.window.ms = 30000
              partition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor, class org.apache.kafka.clients.consumer.CooperativeStickyAssignor]
              receive.buffer.bytes = 65536
              reconnect.backoff.max.ms = 1000
              reconnect.backoff.ms = 50
              request.timeout.ms = 30000
              retry.backoff.ms = 100
              sasl.client.callback.handler.class = null
              sasl.jaas.config = null
              sasl.kerberos.kinit.cmd = /usr/bin/kinit
              sasl.kerberos.min.time.before.relogin = 60000
              sasl.kerberos.service.name = null
              sasl.kerberos.ticket.renew.jitter = 0.05
              sasl.kerberos.ticket.renew.window.factor = 0.8
              sasl.login.callback.handler.class = null
              sasl.login.class = null
              sasl.login.connect.timeout.ms = null
              sasl.login.read.timeout.ms = null
              sasl.login.refresh.buffer.seconds = 300
              sasl.login.refresh.min.period.seconds = 60
              sasl.login.refresh.window.factor = 0.8
              sasl.login.refresh.window.jitter = 0.05
              sasl.login.retry.backoff.max.ms = 10000
              sasl.login.retry.backoff.ms = 100
              sasl.mechanism = GSSAPI
              sasl.oauthbearer.clock.skew.seconds = 30
              sasl.oauthbearer.expected.audience = null
              sasl.oauthbearer.expected.issuer = null
              sasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000
              sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000
              sasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100
              sasl.oauthbearer.jwks.endpoint.url = null
              sasl.oauthbearer.scope.claim.name = scope
              sasl.oauthbearer.sub.claim.name = sub
              sasl.oauthbearer.token.endpoint.url = null
              security.protocol = PLAINTEXT
              security.providers = null
              send.buffer.bytes = 131072
              session.timeout.ms = 45000
              socket.connection.setup.timeout.max.ms = 30000
              socket.connection.setup.timeout.ms = 10000
              ssl.cipher.suites = null
              ssl.enabled.protocols = [TLSv1.2]
              ssl.endpoint.identification.algorithm = https
              ssl.engine.factory.class = null
              ssl.key.password = null
              ssl.keymanager.algorithm = SunX509
              ssl.keystore.certificate.chain = null
              ssl.keystore.key = null
              ssl.keystore.location = null
              ssl.keystore.password = null
              ssl.keystore.type = JKS
              ssl.protocol = TLSv1.2
              ssl.provider = null
              ssl.secure.random.implementation = null
              sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000
              sasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100
              sasl.oauthbearer.jwks.endpoint.url = null
              sasl.oauthbearer.scope.claim.name = scope
              sasl.oauthbearer.sub.claim.name = sub
              sasl.oauthbearer.token.endpoint.url = null
              security.protocol = PLAINTEXT
              source.cluster.alias = prod-240
              ssl.cipher.suites = null
              ssl.enabled.protocols = [TLSv1.2]
              ssl.endpoint.identification.algorithm = https
              ssl.engine.factory.class = null
              ssl.key.password = null
              ssl.keymanager.algorithm = SunX509
              ssl.keystore.certificate.chain = null
              ssl.keystore.key = null
              ssl.keystore.location = null
              ssl.keystore.password = null
              ssl.keystore.type = JKS
              ssl.protocol = TLSv1.2
              ssl.provider = null
              ssl.secure.random.implementation = null
              ssl.trustmanager.algorithm = PKIX
              ssl.truststore.certificates = null
              ssl.truststore.location = null
              ssl.truststore.password = null
              ssl.truststore.type = JKS
              sync.topic.acls.enabled = true
              sync.topic.acls.interval.seconds = 600
              sync.topic.configs.enabled = true
              sync.topic.configs.interval.seconds = 600
              target.cluster.alias = dev-240
              task.assigned.partitions = [test1-8, test1-18, test1-28, test2-6, test2-16, test2-26]
              tasks.max = 10
              topic.filter.class = class org.apache.kafka.connect.mirror.DefaultTopicFilter
              topics = [test1, test2]
              topics.blacklist = null
              topics.exclude = [.*[\-\.]internal, .*\.replica, __.*]
              transforms = []
              value.converter = null 

       

      Can you please let me know if i am missing any other config

      I am using kafka version - 3.4

      Thanks,

      -srini

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bseenu Srinivas Boga
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: