Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Return queue-prefix in open properties #12541

Closed
wants to merge 2 commits into from

Conversation

ansd
Copy link
Member

@ansd ansd commented Oct 17, 2024

Closes #12531

See commit messages for more details.

@ansd ansd force-pushed the open-properties-target-address-prefix branch 2 times, most recently from 44d4714 to cfccb78 Compare October 18, 2024 08:15
@ansd ansd changed the title Return queue-prefix and topic-prefix in open properties Return queue-prefix in open properties Oct 18, 2024
ansd added 2 commits October 18, 2024 10:29
This commit notifies the client app with the AMQP performative if
connection config `notify_with_performative` is set to `true`.

This allows the client app to learn about all fields including
properties and capabilities returned by the AMQP server.
The `queue-prefix` property of the `open` frame is not part of the AMQP spec.
However, let's include this property because it is also returned by ActiveMQ
and Solace and understood by some client libs, e.g. ActiveMQ NMS.AMQP and Qpid JMS.

Note that we do not set `topic-prefix` here because `/exchanges/amq.topic/` is a valid
target address prefix but not a valid source address prefix.

Closes #12531
@ansd ansd force-pushed the open-properties-target-address-prefix branch from cfccb78 to 56bc881 Compare October 18, 2024 08:29
@ansd
Copy link
Member Author

ansd commented Oct 18, 2024

make -C deps/rabbit ct-amqp_system t=java:roundtrip

fails with this PR because the JMS client starts using /queues/my-queue although the client does not previously declare the queue, which may be dangerous for existing client apps upgrading to RabbitMQ 4.1.

Also note that setting the topic-prefix to /exchanges/amq.topic/ works only for target addresses but not for source addresses.

We can re-evaluate whether RabbitMQ returning a queue-prefix /queues/ makes sense in the future when address format v1 is completely removed. For the time being RabbitMQ returning a queue-prefix in the open properties introduces more problems than it solves.

The 1st commit of this PR got extracted into #12547 since it will help writing test cases for other features such as #12520

@ansd ansd closed this Oct 18, 2024
@ansd ansd deleted the open-properties-target-address-prefix branch October 18, 2024 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

AMQP 1.0: Consider adding (non-normative) connection properties topic-prefix and queue-prefix
2 participants