Skip to content
This repository has been archived by the owner on Apr 1, 2024. It is now read-only.

ISSUE-14304: CommandLookupTopic.advertisedListenerName may be blank #3757

Closed
sijie opened this issue Feb 15, 2022 · 1 comment
Closed

ISSUE-14304: CommandLookupTopic.advertisedListenerName may be blank #3757

sijie opened this issue Feb 15, 2022 · 1 comment
Labels

Comments

@sijie
Copy link
Member

sijie commented Feb 15, 2022

Original Issue: apache#14304


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 without an explicit advertised listener to the bind address. 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)

@sijie sijie added the type/bug label Feb 15, 2022
@sijie sijie closed this as completed Feb 16, 2022
@EronWright
Copy link

Reopening to track cherry-picking to 2.9.

@EronWright EronWright reopened this Feb 16, 2022
@sijie sijie closed this as completed Feb 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants