[ 
https://issues.apache.org/jira/browse/QPID-4903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gordon Sim updated QPID-4903:
-----------------------------

    Component/s:     (was: C++ Broker)
        Summary: python client deletes subscription queue even if it was 
declared to not be exclusive  (was: address x-declare not follow AMQP)

This is an issue with the python client. It is issuing an explicit delete when 
closing the link, regardless of whether the subscription queue is exclusive or 
not.
                
> python client deletes subscription queue even if it was declared to not be 
> exclusive
> ------------------------------------------------------------------------------------
>
>                 Key: QPID-4903
>                 URL: https://issues.apache.org/jira/browse/QPID-4903
>             Project: Qpid
>          Issue Type: Bug
>          Components: Python Client
>    Affects Versions: 0.18
>         Environment: Redhat 6.3
>            Reporter: Minmin Ren
>
>   node_name = 'tt'
>   link_name = "%s_link_2" %(node_name)
>   addr_opts = {
>                 "create": "always",
>                 "node": {
>                     "type": "topic",
>                     "x-declare": {
>                         "durable": True,
>                         "auto-delete": True,
>                     },
>                 },
>                 "link": {
>                     "name": link_name,
>                     "durable": True,
>                     "x-declare": {
>                         "durable": False,
>                         "auto-delete": True,
>                         "exclusive": False,
>                     },
>                 },
>               }
>   addr = "%s ; %s" %(node_name, addr_opts)
> According to AMQP 0-10, in queue x-declare exclusive is not set and 
> auto-delete is set, the queue is deleted when all the
> consumers have finished using it.
> Howerver, I use example drain to test it:
> I set address above, then I run it ./drain -t 180, let me mark it node1
> Next, I login another terminal run ./drain -t 3, let me mark it node2
> After 3 senconds, node2 stop normally, but node1 print these results. I think 
> the queue link_2 should not be removed, because consumer on node1 is still 
> exists.
> Traceback (most recent call last):
>   File "./drain_2.py", line 107, in <module>
>     msg = rcv.fetch(timeout=timeout)
>   File "<string>", line 6, in fetch
>   File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 
> 1016, in fetch
>     msg = self.session._get(self, timeout=timeout)
>   File "<string>", line 6, in _get
>   File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 
> 649, in _get
>     timeout):
>   File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 
> 567, in _ewait
>     self.check_error()
>   File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 
> 556, in check_error
>     raise self.error
> qpid.messaging.exceptions.SessionError: Queue tt_link_2 has been deleted. 
> (qpid/broker/Queue.cpp:1787)(408)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to