Bug 963243

Summary: Link 'name' and 'durable' properties are not properly applied when using amqp1.0 protocol
Product: Red Hat Enterprise MRG Reporter: Petr Matousek <pematous>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED CURRENTRELEASE QA Contact: Petr Matousek <pematous>
Severity: high Docs Contact:
Priority: high    
Version: DevelopmentCC: esammons, jross, pematous
Target Milestone: 3.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-0.22-4.el6, qpid-cpp-0.22-4.el5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 967734 (view as bug list) Environment:
Last Closed: 2015-01-21 12:54:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1010399    

Description Petr Matousek 2013-05-15 13:19:10 UTC
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):
qpid-cpp-0.22-2

How reproducible:
100%

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:

Comment 1 Petr Matousek 2013-05-15 13:21:10 UTC
The durability property of the link should be fixed by https://issues.apache.org/jira/browse/QPID-4716.

Comment 2 Gordon Sim 2013-05-24 16:55:46 UTC
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.

Comment 3 Gordon Sim 2013-05-27 16:20:55 UTC
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 4 Petr Matousek 2013-05-28 08:09:21 UTC
Gordon, I have no objections. A new bug was created as a clone of this bug to track the reliability issue, please see bug 967734.

Comment 5 Petr Matousek 2013-07-18 12:56:33 UTC
The issue has been fixed

Verified on RHEL5.9 and RHEL6.4, architectures: i386, x86_64

packages installed:
qpid-cpp-*-0.22-7

-> VERIFIED