Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.18
-
None
-
Redhat 6.3
Description
node_name = 'tt'
link_name = "%s_link_2" %(node_name)
addr_opts = {
"create": "always",
"node": {
"type": "topic",
"x-declare":
,
},
"link": {
"name": link_name,
"durable": True,
"x-declare":
,
},
}
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)