Bug 967734 - Link reliability is not properly applied when using amqp1.0 protocol
Link reliability is not properly applied when using amqp1.0 protocol
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
Unspecified Unspecified
high Severity medium
: 3.0
: ---
Assigned To: Gordon Sim
Petr Matousek
Depends On:
Blocks: 1010399
  Show dependency treegraph
Reported: 2013-05-28 04:04 EDT by Petr Matousek
Modified: 2015-01-21 07:55 EST (History)
5 users (show)

See Also:
Fixed In Version: qpid-cpp-0.22-12
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 963243
Last Closed: 2015-01-21 07:55:40 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Apache JIRA QPID-4716 None None None Never
Apache JIRA QPID-4978 None None None Never

  None (edit)
Description Petr Matousek 2013-05-28 04:04:22 EDT
+++ This bug was initially created as a clone of Bug #963243 +++

Description of problem:

I believe that link properties are ignored at all when using amqp1.0 protocol,
because the subscription queue created with the following command is
neither named nor durable. Also the reliability flag is probably not reflected.

# ./drain -f --connection-options "{protocol:amqp1.0}" "amq.direct/subject;{link:{name:testq1.0,durable:true,reliability:at-least-once}}" &
# qpid-config queues
Queue Name                                      Attributes
amq.directfea8b6ff-68df-4775-a2a1-23e7d0c131e3  auto-del 
ffde62c0-8452-4c6b-9afd-9636fe123438:0.0        auto-del excl 

using 0-10, the subscription queue is properly named, durable and not auto-del:
# ./drain -f "amq.direct/subject;{link:{name:testq0-10,durable:true,reliability:at-least-once}}" &
# qpid-config queues
Queue Name                                      Attributes
amq.directfea8b6ff-68df-4775-a2a1-23e7d0c131e3  auto-del 
testq0-10                                        --durable excl 

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. ./drain -f --connection-options "{protocol:amqp1.0}" "amq.direct/subject;{link:{name:testq1.0,durable:true,reliability:at-least-once}}" &
2. list the queues using qpid-config
3. the queue is named dynamically, is not durable, is auto-del (BUT shall be named accordingly, durable and not auto-del)

Actual results:
Link properties are not applied properly

Expected results:
Link properties are applied properly

Additional info:

--- Additional comment from Petr Matousek on 2013-05-15 09:21:10 EDT ---

The durability property of the link should be fixed by https://issues.apache.org/jira/browse/QPID-4716.

--- Additional comment from Gordon Sim on 2013-05-24 12:55:46 EDT ---

The naming and durability are addressed by http://svn.apache.org/viewvc?view=revision&revision=1486115, and the auto-delete is now false for durable queues as is the default for 0-10.

Note that the link name is combined with the container id to form the subscription queue name as that is guaranteed to be unique whereas the link name on its own is not.

Still outstanding is control over the reliability.

--- Additional comment from Gordon Sim on 2013-05-27 12:20:55 EDT ---

I propose creating a separate BZ to track the control over link reliability, leaving this issue to track the control offered through name and durable options. The reason for this are: (a) signalling the reliability requires a proton change so will take longer to get fixed and (b) the inability set unreliable mode is arguably less severe than inability to name or control durability (reliability at present is always at-least-once).

Petr, what do you think? Would that make sense or would it be better to just leave this as is, covering all aspects?
Comment 1 Petr Matousek 2013-05-28 04:05:24 EDT
The naming and durability are tracked as bug 963243. This bugzilla tracks the control over the reliability. 

As mentioned above, it is not possible to set the unreliable mode, the reliability at present is always set to at-least-once.
Comment 2 Gordon Sim 2013-08-28 08:51:10 EDT
Fixed upstream by https://svn.apache.org/r1518182 (merging fixes for https://bugzilla.redhat.com/show_bug.cgi?id=981636 first will make merging this one easier).
Comment 3 Gordon Sim 2013-08-28 10:22:51 EDT
Should also point out that these require proton 0.5
Comment 7 Petr Matousek 2013-10-29 05:18:19 EDT
This issue has been fixed. Verified on rhel6.4 (i386, x86_64).

packages used for testing:


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