Bug 1011631 - [AMQP 1.0] outgoing deliveries that are settled without a state being set are not dequeued
Summary: [AMQP 1.0] outgoing deliveries that are settled without a state being set are...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: Development
Hardware: Unspecified
OS: Unspecified
medium
unspecified
Target Milestone: 3.0
: ---
Assignee: Gordon Sim
QA Contact: Irina Boverman
URL:
Whiteboard:
Depends On:
Blocks: 1010399
TreeView+ depends on / blocked
 
Reported: 2013-09-24 16:31 UTC by Gordon Sim
Modified: 2015-01-21 12:56 UTC (History)
5 users (show)

Fixed In Version: qpid-cpp-0.22-17
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-01-21 12:56:54 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Apache JIRA QPID-5170 0 None None None Never

Description Gordon Sim 2013-09-24 16:31:32 UTC
Description of problem:

From https://issues.apache.org/jira/browse/PROTON-425:

I have a simple queue on the qpidd broker, which holds one message:

$ qpid-stat -q
Queues
  queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind
  ============================================================================
  KENQ 1 1 0 65 65 0 0 1

Attempting to consume from that queue using the messenger recv example:

$ ./examples/messenger/py/recv.py amqp://127.0.0.1:5672/KENQ
None (no subject) {u'spout-id': u'7fe1a726-b1bc-40e6-b91f-51cf34136f33:0'} None

recv.py gets the message, but it is never removed from qpidd's queue:

$ qpid-stat -q
Queues
  queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind
  ============================================================================
  KENQ 1 1 0 65 65 0 0 1

Seems like messenger can only browse qpidd's queues

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

qpid 0.24

How reproducible:

100%

Steps to Reproduce:
1. use messengers recv example to consume messages
2. kill recv
3. check the queue for the same messages

Actual results:

messages are still there

Expected results:

messages should have been dequeued
Additional info:

Comment 1 Gordon Sim 2013-09-24 16:32:19 UTC
Fixed upstream: https://svn.apache.org/r1525941

Comment 2 Irina Boverman 2014-03-26 16:55:42 UTC
VERIFIED.

# qpid-config add queue KENQ
# /usr/share/doc/python-qpid-0.22/examples/api/spout 'KENQ' b
Message(properties={'spout-id': '5c6de208-0fd1-4611-84f3-18e7ea55dac7:0'}, content_type='text/plain', content='b')
# qpid-stat -q
Queues
  queue                                     dur  autoDel  excl  msg   msgIn  msgOut  bytes  bytesIn  bytesOut  cons  bind
  =========================================================================================================================
  885a5b0c-57c4-45af-9d62-8927f625219e:0.0       Y        Y        0     0      0       0      0        0         1     2
  KENQ                                                             1     1      0      92     92        0         0     1

# ./examples/messenger/py/recv.py amqp://127.0.0.1:5672/KENQ
None (no subject) {u'spout-id': u'5c6de208-0fd1-4611-84f3-18e7ea55dac7:0'} b

# qpid-stat -q
Queues
  queue                                     dur  autoDel  excl  msg   msgIn  msgOut  bytes  bytesIn  bytesOut  cons  bind
  =========================================================================================================================
  KENQ                                                             0     1      1       0     92       92         0     1
  fd9ae9e0-0b36-423b-9356-b66bf14fbb3f:0.0       Y        Y        0     0      0       0      0        0         1     2


Installed packages:

# rpm -q --all | grep qpid
qpid-java-client-0.22-6.el6.noarch
qpid-cpp-server-linearstore-0.22-36.el6.x86_64
python-qpid-qmf-0.22-28.el6.x86_64
qpid-cpp-debuginfo-0.22-36.el6.x86_64
qpid-qmf-0.22-28.el6.x86_64
qpid-tools-0.22-9.el6.noarch
ruby-qpid-qmf-0.22-28.el6.x86_64
qpid-qmf-debuginfo-0.22-28.el6.x86_64
python-qpid-proton-0.6-1.el6.x86_64
qpid-proton-c-0.6-1.el6.x86_64
qpid-jca-0.22-2.el6.noarch
qpid-jca-xarecovery-0.22-2.el6.noarch
qpid-cpp-server-0.22-36.el6.x86_64
qpid-cpp-server-ha-0.22-36.el6.x86_64
qpid-cpp-client-devel-0.22-36.el6.x86_64
qpid-java-common-0.22-6.el6.noarch
python-qpid-0.22-12.el6.noarch
perl-qpid-0.22-11.el6.x86_64
qpid-cpp-client-0.22-36.el6.x86_64
qpid-snmpd-1.0.0-16.el6.x86_64
qpid-proton-c-devel-0.6-1.el6.x86_64

and:

# rpm -q --all | grep qpid
qpid-qmf-0.22-28.el6.i686
ruby-qpid-qmf-0.22-28.el6.i686
qpid-jca-0.22-2.el6.noarch
qpid-proton-c-devel-0.6-1.el6.i686
qpid-proton-c-devel-doc-0.6-1.el6.noarch
qpid-cpp-server-store-0.22-36.el6.i686
python-qpid-proton-0.6-1.el6.i686
qpid-proton-c-0.6-1.el6.i686
python-qpid-0.22-12.el6.noarch
perl-qpid-0.22-11.el6.i686
qpid-cpp-server-ha-0.22-36.el6.i686
qpid-cpp-client-0.22-36.el6.i686
python-qpid-qmf-0.22-28.el6.i686
qpid-snmpd-1.0.0-16.el6.i686
qpid-tools-0.22-9.el6.noarch
qpid-java-client-0.22-6.el6.noarch
qpid-cpp-server-0.22-36.el6.i686
qpid-cpp-client-devel-0.22-36.el6.i686
qpid-java-common-0.22-6.el6.noarch
qpid-jca-xarecovery-0.22-2.el6.noarch


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