Bug 683594 - Documentation update: How to use priority queues
Summary: Documentation update: How to use priority queues
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Deadline: 2011-04-14
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: Messaging_Programming_Reference
Version: 1.3
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Joshua Wulf
QA Contact: ecs-bugs
URL:
Whiteboard:
Depends On: 660526
Blocks: 453538 660531
TreeView+ depends on / blocked
 
Reported: 2011-03-09 19:37 UTC by Ted Ross
Modified: 2014-10-19 22:58 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-06-24 02:53:10 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Ted Ross 2011-03-09 19:37:50 UTC
The new feature, "Support for Message Priority" requires updates to the programming documentation to describe how to configure queues for priority queueing and how to set the priority in messages.

Comment 2 Alison Young 2011-03-31 02:26:27 UTC
Hi Ted,

Can you provide the content describing the new feature's? Method inputs, code
examples, expected outputs (if any) and error information in addition to
anything else you'd like documented.

Thanks,
Alison

Comment 3 Gordon Sim 2011-04-11 15:00:14 UTC
To enable the feature a value for qpid.priorities needs to be specified in the  arguments to the declare that creates the queue (e.g. with an address such as 'my-queue; {create: always,  node:{x-declare:{arguments:{qpid.priorities:10}}}}'). The value determines  the number of distinct priority levels recognised by the queue (up to a  maximum of 10). The default is 1 level (i.e. no prioritised delivery).

If the number of levels is greater than 1 but less than 10, specific  priorities are mapped to levels as defined in the AMQP 0-10  specification (see rule 'priority-level-implementation'). For 10 levels the priorities map directly  to levels.

Ring queues with more than one priority level will remove messages by  priority and then age (i.e. lowest priority messages will be removed  first, and within a given priority level the oldest message will be  removed first).

The delivery order for browsing subscribers should be considered undefined on a queue with multiple priority levels. (At present they are browsed in FIFO order, but this should not be relied on).

Comment 4 Frantisek Reznicek 2011-05-04 12:42:04 UTC
If the documentation will document fairshare sub-feature, then it is necessary to describe both:
- x-qpid-fairshare:<N> (common fairshare setting for all internal priority levels)
- x-qpid-fairshare-<i>:<N> (custom fairshare setting for internal priority level <i>)
  - <i> goest from 0 to <M-1> where M is defined by x-qpid-priorities:<M>

Comment 5 Alison Young 2011-05-19 04:37:31 UTC
(In reply to comment #3)
> To enable the feature a value for qpid.priorities needs to be specified in the 
> arguments to the declare that creates the queue (e.g. with an address such as
> 'my-queue; {create: always, 
> node:{x-declare:{arguments:{qpid.priorities:10}}}}'). The value determines  the
> number of distinct priority levels recognised by the queue (up to a  maximum of
> 10). The default is 1 level (i.e. no prioritised delivery).
> 
> If the number of levels is greater than 1 but less than 10, specific 
> priorities are mapped to levels as defined in the AMQP 0-10  specification (see
> rule 'priority-level-implementation'). For 10 levels the priorities map
> directly  to levels.
> 
> Ring queues with more than one priority level will remove messages by  priority
> and then age (i.e. lowest priority messages will be removed  first, and within
> a given priority level the oldest message will be  removed first).
> 
> The delivery order for browsing subscribers should be considered undefined on a
> queue with multiple priority levels. (At present they are browsed in FIFO
> order, but this should not be relied on).

I'm puzzling over where this new section on Priority should go. As it appears to describe queues moreso than messages I'm thinking it may be better suited to Chapter 3 in the Messaging User Guide. This also ties to Comment #4 as the only mention of x-qpid is in the User Guide under Queue Threshold Configuration (also in Chapter 3).

Any thoughts?

Comment 6 Gordon Sim 2011-05-19 07:47:52 UTC
Yes Chapter 3 is the right place. Could be just after 'last value queues' for example (i.e. its another type of semantic behaviour that can be configured for a queue).

Comment 7 Alison Young 2011-05-25 08:00:03 UTC
(In reply to comment #4)
> If the documentation will document fairshare sub-feature, then it is necessary
> to describe both:
> - x-qpid-fairshare:<N> (common fairshare setting for all internal priority
> levels)
> - x-qpid-fairshare-<i>:<N> (custom fairshare setting for internal priority
> level <i>)
>   - <i> goest from 0 to <M-1> where M is defined by x-qpid-priorities:<M>

Presently there's no mention of x-qpid-fairshare in the User Guide. Perhaps this should be a separate RFE bug for 2.1.

AJY

Comment 9 Frantisek Reznicek 2011-05-26 10:20:53 UTC
The feature has been documented (except fairshare sub-feature, which is now tracked separately as bug 707913).


-> VERIFIED


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