CommandLookupTopic.advertisedListenerName may be blank
See original GitHub issueDescribe the bug
Some of the language bindings supply an empty string for the advertisedListenerName
field of CommandLookupTopic
(e.g. Java vs Golang). This confuses the broker, who then fails to apply the default advertised listener for the given server port. This, in turn, leads to an incorrect topic lookup response and a subsequent connection failure.
For background, see [PIP 95] Smart Listener Selection with Multiple Bind Addresses.
To Reproduce Steps to reproduce the behavior:
- Configure a broker with a bind address that is associated with an advertised listener.
- Using various language clients, send a topic lookup request to the bind address, without specifying an advertised listener. Expect the default advertised listener for that binding to be used.
- Observe that some clients receive the correct advertised listener, others don’t.
Expected behavior Expect the binding-specific advertised listener to be automatically applied to lookup request.
Proposed Solution
Enhance the broker to check for an empty string in the advertisedListenerName
field. (code)
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (6 by maintainers)
Top Results From Across the Web
java.lang.IllegalArgumentException: requirement failed: inter ...
IllegalArgumentException: requirement failed: inter.broker.listener.name ... When it's set to an empty array, the advertised listeners will be configured
Read more >Kafka client can't receive messages - Stack Overflow
You should set advertised.listeners to be a fully qualified domain name or public IP address for the host that the broker is running...
Read more >Kafka Listeners – Explained | Confluent
To define which listener to use, specify KAFKA_INTER_BROKER_LISTENER_NAME(inter.broker.listener.name) . The host/IP used must be accessible from ...
Read more >Kafka 3.3 Documentation
Topics in Kafka are always multi-producer and multi-subscriber: a topic can have zero, one, or many producers that write events to it, as...
Read more >Custom MSK configurations - Amazon Managed Streaming for ...
You can set the advertised.listeners property, but not the listeners property. Topic-level configuration. You can use Apache Kafka commands to set or ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
It will return true if the field is set. That is irrespective of the specific value that was set.
done.