Bug 981642 - provide means of configuring subscription queue when subscribing to an exchange over amqp 1.0
Summary: provide means of configuring subscription queue when subscribing to an exchan...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: Development
Hardware: Unspecified
OS: Unspecified
medium
unspecified
Target Milestone: 3.0
: ---
Assignee: Gordon Sim
QA Contact: Zdenek Kraus
URL:
Whiteboard:
Depends On:
Blocks: 1010399
TreeView+ depends on / blocked
 
Reported: 2013-07-05 11:26 UTC by Gordon Sim
Modified: 2015-01-21 12:55 UTC (History)
4 users (show)

Fixed In Version: qpid-qmf-0.22-7
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-01-21 12:55:49 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Apache JIRA QPID-4919 0 None None None Never
Red Hat Bugzilla 984571 1 None None None 2025-02-10 03:28:05 UTC

Internal Links: 984571

Description Gordon Sim 2013-07-05 11:26:31 UTC
Description of problem:

The AMQP 1.0 protocol does not provide an obvious means of configuring the subscription. Capabilities can be requested but these are simple strings and don't lend themselves to e.g. specifying a maximum depth. Further, this is configuration that often makes sense to control in one place, at the broker, rather than trying to ensure clients themselves choose the right options.

The proposed solution is to allow 'topics' to be created. These give a name to an exchange paired with a set of queue configuration options. AMQP 1.0 links can be attached from (and to) these topics using their name and the subscription queue created will use the specified queue configuration parameters.

Steps to test:
1. create topic, e.g. using qpidt tool: 

qpidt create topic my-topic exchange=amq.fanout qpid.policy_type=ring qpid.max_count=10

2. Create your receiver using an address that referenced the topic created

E.g. qpid-receive --connection-options {protocol:amqp1.0} --address my-topic -f

Expected results:

There should now be a subscription queue bound to the amq.fanout exchange and it should have the specified configuration, e.g. in this case it should be a ring queue with a maximum of 50 messages.

Comment 1 Gordon Sim 2013-07-05 11:27:35 UTC
Fixed upstream by https://svn.apache.org/r1497036 and https://svn.apache.org/r1497074.

Comment 2 Zdenek Kraus 2014-03-25 06:56:01 UTC
Tested on RHEL 6.5 i686, x86_64, with following packages:

perl-qpid-0.22-11.el6
python-qpid-0.22-12.el6
python-qpid-qmf-0.22-28.el6
qpid-cpp-client-0.22-36.el6
qpid-cpp-client-devel-0.22-36.el6
qpid-cpp-client-devel-docs-0.22-36.el6
qpid-cpp-debuginfo-0.22-36.el6
qpid-cpp-server-0.22-36.el6
qpid-cpp-server-devel-0.22-36.el6
qpid-cpp-server-ha-0.22-36.el6
qpid-cpp-server-linearstore-0.22-36.el6
qpid-cpp-server-xml-0.22-36.el6
qpid-java-client-0.22-6.el6
qpid-java-common-0.22-6.el6
qpid-java-example-0.22-6.el6
qpid-jca-0.22-2.el6
qpid-jca-xarecovery-0.22-2.el6
qpid-proton-c-0.6-1.el6
qpid-proton-c-devel-0.6-1.el6
qpid-proton-debuginfo-0.6-1.el6
qpid-qmf-0.22-28.el6
qpid-qmf-debuginfo-0.22-28.el6
qpid-snmpd-1.0.0-16.el6
qpid-snmpd-debuginfo-1.0.0-16.el6
qpid-tools-0.22-9.el6
ruby-qpid-qmf-0.22-28.el6


-> VERIFIED


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