You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Clebert Suconic (Jira)" <ji...@apache.org> on 2021/08/09 17:55:02 UTC
[jira] [Closed] (ARTEMIS-3310) Paging could lose AMQPmessage if
match didn't work for any reason
[ https://issues.apache.org/jira/browse/ARTEMIS-3310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Clebert Suconic closed ARTEMIS-3310.
------------------------------------
Fix Version/s: 2.18.0
Resolution: Fixed
> Paging could lose AMQPmessage if match didn't work for any reason
> -----------------------------------------------------------------
>
> Key: ARTEMIS-3310
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3310
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Reporter: Clebert Suconic
> Assignee: Clebert Suconic
> Priority: Major
> Fix For: 2.18.0
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> AMQP will parse properties on demand.
> However if something happened, paging.next() would re-validate the routing from the queue, and if the routing did not work, it would then remove the message from the paging store without even informing the Queue about this.
>
> This was because message.match() was meant for browsing only, and when the module was originally contemplated it was though the filter on the queue could be changed, resulting in just removing old messages from the queue. That is not true as a filter change should result in removing and recreating the message.
>
> this should be fixed in two parts:
>
> I - add a test to make sure parsing works
>
> II - Make cursor.moveNext() more resilient to a failure here and just trust the original routing without having to retake the matching.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)