You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Michael Anstis (Jira)" <ji...@apache.org> on 2021/11/25 16:23:00 UTC
[jira] [Created] (KAFKA-13482) JRE: Duplicate Key: Multiple bootstrap server URLs
Michael Anstis created KAFKA-13482:
--------------------------------------
Summary: JRE: Duplicate Key: Multiple bootstrap server URLs
Key: KAFKA-13482
URL: https://issues.apache.org/jira/browse/KAFKA-13482
Project: Kafka
Issue Type: Bug
Components: clients
Affects Versions: 2.8.1
Environment: Docker (Kafka server), Docker (client) and local client.
Reporter: Michael Anstis
I am running a Kafka server in a Docker Container.
It needs to listen to both the Docker "internal" network and "external" local network.
Some services run in other Docker containers and need Kafka.
Some services run locally, not in Docker, and need the same Kafka instance too.
Configuring bootstrap servers for the single Kafka instance:
{code}kafka.bootstrap.servers=PLAINTEXT://localhost:49212,OUTSIDE://kafka-WLff1:9092{code}
Leads to the following stack trace:
{code}
2021-11-25 16:17:10,559 ERROR [org.apa.kaf.cli.pro.int.Sender] (kafka-producer-network-thread | kafka-producer-kogito-tracing-model) [Producer clientId=kafka-producer-kogito-tracing-model] Uncaught error in kafka producer I/O thread: : java.lang.IllegalStateException: Duplicate key 0 (attempted merging values localhost:49212 (id: 0 rack: null) and kafka-WLff1:9092 (id: 0 rack: null))
at java.base/java.util.stream.Collectors.duplicateKeyException(Collectors.java:133)
at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:180)
at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at org.apache.kafka.common.requests.MetadataResponse$Holder.createBrokers(MetadataResponse.java:414)
at org.apache.kafka.common.requests.MetadataResponse$Holder.<init>(MetadataResponse.java:407)
at org.apache.kafka.common.requests.MetadataResponse.holder(MetadataResponse.java:187)
at org.apache.kafka.common.requests.MetadataResponse.topicMetadata(MetadataResponse.java:210)
at org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.handleSuccessfulResponse(NetworkClient.java:1086)
at org.apache.kafka.clients.NetworkClient.handleCompletedReceives(NetworkClient.java:887)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:570)
at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:327)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:242)
at java.base/java.lang.Thread.run(Thread.java:832)
{code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)