question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

CommandLookupTopic.advertisedListenerName may be blank

See original GitHub issue

Describe 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:

  1. Configure a broker with a bind address that is associated with an advertised listener.
  2. 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.
  3. 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:closed
  • Created 2 years ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
merlimatcommented, Feb 16, 2022

It will return true if the field is set. That is irrespective of the specific value that was set.

0reactions
BewareMyPowercommented, Feb 17, 2022

done.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found