-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
None
Kafka Mirror Maker 2 is in Strimzi deployed as Kafka Connect with the MM2 connectors running on top of it. That means, that when some of the connectors don't work, MM2 does not work. However, that does not seem to be reflected in the resource state. For example, when the address of the source Kafka cluster is wrong due to some typo, the cluster ends up in a state like this:
status:
conditions:
- lastTransitionTime: "2021-10-13T21:29:14.323835Z"
status: "True"
type: Ready
connectors:
- connector:
state: FAILED
trace: "org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient\n\tat
org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:527)\n\tat
org.apache.kafka.clients.admin.Admin.create(Admin.java:143)\n\tat org.apache.kafka.clients.admin.AdminClient.create(AdminClient.java:49)\n\tat
org.apache.kafka.connect.mirror.MirrorCheckpointConnector.start(MirrorCheckpointConnector.java:73)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.doStart(WorkerConnector.java:184)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.start(WorkerConnector.java:209)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:348)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:331)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.doRun(WorkerConnector.java:140)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.run(WorkerConnector.java:117)\n\tat
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\n\tat
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat
java.base/java.lang.Thread.run(Thread.java:829)\nCaused by: org.apache.kafka.common.config.ConfigException:
No resolvable bootstrap urls given in bootstrap.servers\n\tat org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:88)\n\tat
org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:47)\n\tat
org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:482)\n\t...
14 more\n"
worker_id: 172.16.94.163:8083
name: my-source-cluster->my-target-cluster.MirrorCheckpointConnector
tasks: []
type: source
- connector:
state: RUNNING
worker_id: 172.16.94.163:8083
name: my-source-cluster->my-target-cluster.MirrorHeartbeatConnector
tasks:
- id: 0
state: RUNNING
worker_id: 172.16.94.163:8083
type: source
- connector:
state: FAILED
trace: "org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient\n\tat
org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:527)\n\tat
org.apache.kafka.clients.admin.Admin.create(Admin.java:143)\n\tat org.apache.kafka.clients.admin.AdminClient.create(AdminClient.java:49)\n\tat
org.apache.kafka.connect.mirror.MirrorSourceConnector.start(MirrorSourceConnector.java:116)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.doStart(WorkerConnector.java:184)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.start(WorkerConnector.java:209)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:348)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:331)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.doRun(WorkerConnector.java:140)\n\tat
org.apache.kafka.connect.runtime.WorkerConnector.run(WorkerConnector.java:117)\n\tat
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\n\tat
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat
java.base/java.lang.Thread.run(Thread.java:829)\nCaused by: org.apache.kafka.common.config.ConfigException:
No resolvable bootstrap urls given in bootstrap.servers\n\tat org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:88)\n\tat
org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:47)\n\tat
org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:482)\n\t...
14 more\n"
worker_id: 172.16.94.163:8083
name: my-source-cluster->my-target-cluster.MirrorSourceConnector
tasks: []
type: source
labelSelector: strimzi.io/cluster=my-mirror-maker-2,strimzi.io/name=my-mirror-maker-2-mirrormaker2,strimzi.io/kind=KafkaMirrorMaker2
observedGeneration: 2
replicas: 1
url: http://my-mirror-maker-2-mirrormaker2-api.myproject.svc:8083
The key connectors (Source and Checkpoint) are failed. But the overall KafkaMirrorMaker2 status is reported asĀ Ready. That seems wrong. The KMM2 state needs to reflect the state of the connectors and indicate some issues.
Opened by Strimzi#5715