[ 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)