Bug 1254951 - qpidd does not support limiting a container-id to a single connection (JMS ClientID enforcement)
Summary: qpidd does not support limiting a container-id to a single connection (JMS Cl...
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: 3.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: messaging-bugs
QA Contact: Messaging QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-08-19 10:05 UTC by Robbie Gemmell
Modified: 2025-02-10 03:48 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Known Issue
Doc Text:
In this release of the product, when using +qpidd+ as the broker, there can be more than one active connection with the same JMS `client-id`. This is because +qpidd+ does not recognise the connection capability requested by the JMS client over AMQP 1.0 which allows only a single connection with the same container ID. As a workaround, +qpidd+ does allow limiting connections by userid, which may satisfy some cases.
Clone Of:
Environment:
Last Closed: 2025-02-10 03:48:03 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Robbie Gemmell 2015-08-19 10:05:31 UTC
The broker does not support restricting a ContainerID to having a single connection associated at a time. JMS clients depend on this to satisfy the requirement that a ClientID value is only in use by a single Connection at a time.

The JMS client uses a layered mechanism to request this by sending a desired-capability symbol of "sole-connection-for-container". If the broker supports the feature it should reply with the same as an offered-capability (the client may then choose whether it minds if the broker does this or not). If the broker does support the mechanism and the new connection is not the only one with the given container-id then it should close the connection. In order to hint to the client that the connection open has failed and the connection will actually be immediately closed, the Open response should contain a property of "amqp:connection-establishment-failed". The Close frame should then be sent with "illegal-argument" error condition. In order to convey in the Close frame that the container-id was the problem value (so the client cant tell it is a ClientID problem and throw the specific exception), the error info map should contain a map entry with symbol key "invalid-field" and symbol entry "container-id".

Comment 8 Red Hat Bugzilla 2025-02-10 03:48:03 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.


Note You need to log in before you can comment on or make changes to this bug.