| Summary: | Documentation update: How to use priority queues | ||
|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Ted Ross <tross> |
| Component: | Messaging_Programming_Reference | Assignee: | Joshua Wulf <jwulf> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | ecs-bugs |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 1.3 | CC: | freznice, gsim, jneedle, jwulf, lcarlon, sburgess |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-06-24 02:53:10 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | 660526 | ||
| Bug Blocks: | 453538, 660531 | ||
| Deadline: | 2011-04-14 | ||
|
Description
Ted Ross
2011-03-09 19:37:50 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 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).
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> (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? 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). (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 The feature has been documented (except fairshare sub-feature, which is now tracked separately as bug 707913). -> VERIFIED |