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:
The durability property of the link should be fixed by https://issues.apache.org/jira/browse/QPID-4716.
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.
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?
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.
The issue has been fixed Verified on RHEL5.9 and RHEL6.4, architectures: i386, x86_64 packages installed: qpid-cpp-*-0.22-7 -> VERIFIED