[
https://issues.apache.org/jira/browse/AMQ-7070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16646215#comment-16646215
]
Gary Tully commented on AMQ-7070:
---------------------------------
[~alanprot] purging the cache seems the only way, it could be selective, in
that the highest priority messages could remain but that is an optimisation.
the tricky bit is knowing where in the store to start reading from again. The
existing logic around setBatch works in the knowledge that the cursor add order
is the same as the store sequence id. Ie: it is a linear representation of the
store order with the caveat that some writes are pending.
Priority skewes that, but care needs to be taken to ensure the setBatch call is
inclusive, but not overly so.
that setBatch call needs care, it may not be sufficient b/c it never had to
deal with a purge before.
> Priority is not being respected when the cursor cache flips
> -----------------------------------------------------------
>
> Key: AMQ-7070
> URL: https://issues.apache.org/jira/browse/AMQ-7070
> Project: ActiveMQ
> Issue Type: Test
> Components: Broker
> Reporter: Alan Protasio
> Priority: Minor
> Attachments: AMQ7070Test.java
>
>
> Messages are being dispatched with wrong priority when the cache is flipped.
> See:
> https://github.com/apache/activemq/blob/master/activemq-broker/src/main/java/org/apache/activemq/broker/region/cursors/AbstractStoreCursor.java#L258
> All messages that could get cached in the cursor are dispatched before even
> though massages with higher priority is in the cache.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)