Bug 1029432

Summary: paged queue doesn't deliver all messages
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED CURRENTRELEASE QA Contact: Zdenek Kraus <zkraus>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 3.0CC: esammons, gsim, iboverma, jross, zkraus
Target Milestone: 3.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-0.22-26 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Gordon Sim 2013-11-12 11:42:39 UTC
Description of problem:

There are cases where messages on a paged queue are not delivered to consumers due to the page they are in not being loaded at the time it is examined for messages to send.

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

Early Access

How reproducible:

100%

Scenario 1:

Steps to Reproduce:
1. create paged queue with qpid.max_pages_loaded=1
2. send a 100,000 1024 byte messages to this queue
3. retrieve all the messages

Actual results:

Not all the messages are retrieved

Expected results:

All the messages should be retrieved

Scenario 2:

Steps to Reproduce:
1. create paged queue with default settings
2.a. send a 10,000 1024 byte messages with property colour set to blue
2.b. send a 10,000 1024 byte messages with property colour set to red
2.c. send a 10,000 1024 byte messages with property colour set to blue
2.d. send a 5,000 1024 byte messages with property colour set to yellow
2.e. send a 10,000 1024 byte messages with property colour set to blue
2.f. send a 10,000 1024 byte messages with property colour set to red
3. retrieve messages by colour using a selector, e.g.
   "paged-queue; {mode:browse, link:{selector:\"colour = 'blue'\"}}"
   first take all blue messages, then red messages, then yellow messages 

Actual results:

Yellow messages are not retrieved

Expected results:

All the messages should be retrieved

Additional info:

Comment 1 Gordon Sim 2013-11-12 11:43:29 UTC
Fixed upstream: https://svn.apache.org/r1540136

Comment 4 Zdenek Kraus 2014-01-29 15:21:53 UTC
Scenario 1, reproduced 0.22-25, verified 0.22-33
Scenario 2, reproduced only with 'qpid.max_pages_loaded'=1, 0.22-25, verified 0.22-33

Tested on RHEL 6.5 i686 & x86_64 with following packages:
perl-qpid-0.22-7.el6
python-qpid-0.22-10.el6
python-qpid-qmf-0.22-26.el6
qpid-cpp-client-0.22-33.el6
qpid-cpp-client-devel-0.22-33.el6
qpid-cpp-client-devel-docs-0.22-33.el6
qpid-cpp-client-ssl-0.22-33.el6
qpid-cpp-debuginfo-0.22-33.el6
qpid-cpp-server-0.22-33.el6
qpid-cpp-server-devel-0.22-33.el6
qpid-cpp-server-ha-0.22-33.el6
qpid-cpp-server-ssl-0.22-33.el6
qpid-cpp-server-store-0.22-33.el6
qpid-cpp-server-xml-0.22-33.el6
qpid-java-client-0.22-5.el6
qpid-java-common-0.22-5.el6
qpid-java-example-0.22-5.el6
qpid-jca-0.22-1.el6
qpid-jca-xarecovery-0.22-1.el6
qpid-proton-c-0.6-1.el6
qpid-proton-c-devel-0.6-1.el6
qpid-qmf-0.22-26.el6
qpid-snmpd-1.0.0-15.el6
qpid-tools-0.22-7.el6
ruby-qpid-qmf-0.22-26.el6


->VERIFIED