A Ring Priority queue works by removing the lowest priority message if the queue limit is reached. It was discovered that the queue did not take into account whether the new message was a lower priority than the one being removed. A lower priority message could therefore displace a higher-priority message. A fix to the Priority Ring queue now correctly assesses the incoming message priority, and ensures that higher priority messages remain in the queue.
Description of problem:
Currently a ring+priority queue works by removing the lowest priority message if the limit is reached. However it does not consider whether the new message is actually of lower priority than the one being displaced. A lower priority message should not displace a higher-priority message.
Version-Release number of selected component (if applicable): 0-14
How reproducible: 100%
Steps to Reproduce: Run attached python test.
Actual results: fails - priority 2 message displaces priority 8 message
Expected results: passes
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://rhn.redhat.com/errata/RHEA-2015-0805.html