YANGLiiN created KAFKA-13808: -------------------------------- Summary: Mirrormaker2 stop sync data when modify topic partition in "Running a dedicated MirrorMaker cluster" mode Key: KAFKA-13808 URL: https://issues.apache.org/jira/browse/KAFKA-13808 Project: Kafka Issue Type: Bug Components: KafkaConnect, mirrormaker Affects Versions: 3.0.1, 3.0.0, 2.8.1, 2.7.2, 2.6.3, 3.1.0 Reporter: YANGLiiN
When use the mirrormaker2 with the "Running a dedicated MirrorMaker cluster" mode, we modify the partition , then the mm2 stop sync data with the follow ERROR : [2022-02-18 10:26:19,410] ERROR Error forwarding REST request (org.apache.kafka.connect.runtime.rest.RestClient) java.lang.IllegalArgumentException: Invalid URI host: null (authority: null) at org.eclipse.jetty.client.HttpClient.checkHost(HttpClient.java:521) at org.eclipse.jetty.client.HttpClient.newHttpRequest(HttpClient.java:506) at org.eclipse.jetty.client.HttpClient.newRequest(HttpClient.java:464) at org.eclipse.jetty.client.HttpClient.newRequest(HttpClient.java:453) at org.apache.kafka.connect.runtime.rest.RestClient.httpRequest(RestClient.java:107) at org.apache.kafka.connect.runtime.distributed.DistributedHerder.lambda$reconfigureConnector$32(DistributedHerder.java:1607) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) [2022-02-18 10:26:19,416] ERROR [Worker clientId=connect-1, groupId=sync2022] Request to leader to reconfigure connector tasks failed (org.apache.kafka.connect.runtime.distributed.DistributedHerder) org.apache.kafka.connect.runtime.rest.errors.ConnectRestException: Error trying to forward REST request: Invalid URI host: null (authority: null) at org.apache.kafka.connect.runtime.rest.RestClient.httpRequest(RestClient.java:147) at org.apache.kafka.connect.runtime.distributed.DistributedHerder.lambda$reconfigureConnector$32(DistributedHerder.java:1607) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: java.lang.IllegalArgumentException: Invalid URI host: null (authority: null) at org.eclipse.jetty.client.HttpClient.checkHost(HttpClient.java:521) at org.eclipse.jetty.client.HttpClient.newHttpRequest(HttpClient.java:506) at org.eclipse.jetty.client.HttpClient.newRequest(HttpClient.java:464) at org.eclipse.jetty.client.HttpClient.newRequest(HttpClient.java:453) at org.apache.kafka.connect.runtime.rest.RestClient.httpRequest(RestClient.java:107) ... 6 more the root cause is the connect doesn't process the mm2 add the 'NOTUSED' url see [https://github.com/apache/kafka/blob/trunk/connect/mirror/src/main/java/org/apache/kafka/connect/mirror/MirrorMaker.java#L122] [https://github.com/apache/kafka/blob/trunk/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/distributed/DistributedHerder.java#L1593-L1599] we should add the "NOTUSED" logic such as if (leaderUrl.startsWith("NOTUSED")) { configBackingStore.putTaskConfigs(connName, rawTaskProps); cb.onCompletion(null, null); return; } -- This message was sent by Atlassian Jira (v8.20.1#820001)