Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 873345

Summary: LVQ Ring Queue either has broken statistics or broken implementation
Product: Red Hat Enterprise MRG Reporter: Chris Pitman <christopher.pitman>
Component: qpid-cppAssignee: Ken Giusti <kgiusti>
Status: CLOSED UPSTREAM QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: DevelopmentCC: jross
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-02-10 03:21:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 698367    
Attachments:
Description Flags
Reproduction Scripts none

Description Chris Pitman 2012-11-05 15:37:47 UTC
Created attachment 638710 [details]
Reproduction Scripts

Description of problem:
If you create a queue that is both an LVQ and a ring queue, qpid-stat reports the incorrect number of messages in the queue.
I'm not sure if it's purely qpid-stat that is wrong, but if you first run
python lvq_sender-ring.py

And then perform a qpid-stat, you will see that it reports correctly that lvq_queue has

  queue                                     dur  autoDel  excl  msg   msgIn  msgOut  bytes  bytesIn  bytesOut  cons  bind
  =========================================================================================================================
  lvq_queue                                                        4     6      2      28     42       14         0    


And then if you run the bash script, spout more, which spouts the same message with the same LVQ_key 5 more times.  You end up with:

  queue                                     dur  autoDel  excl  msg   msgIn  msgOut  bytes  bytesIn  bytesOut  cons  bind
  =========================================================================================================================
  lvq_queue                                                        8    11      3      21     42       21         0     1


Which is incorrect because there should only be 5 messages in the queue and there should now be msgOut=6.

I think what may be happening is the first new message is queued, when the second is enqueued, it pushes out the first, and then all subsequent messages no longer push out the message in the LVQ.

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

How reproducible:
Always

Additional info:
Reproduction scripts attached

Comment 1 Red Hat Bugzilla 2025-02-10 03:21:04 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.