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/29 11:31:00 UTC

[jira] [Resolved] (KAFKA-13482) JRE: Duplicate Key: Multiple bootstrap server URLs

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

Michael Anstis resolved KAFKA-13482.
------------------------------------
    Resolution: Not A Problem

> 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
>            Priority: Major
>
> 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)