[
https://issues.apache.org/jira/browse/ARTEMIS-3310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17348644#comment-17348644
]
ASF subversion and git services commented on ARTEMIS-3310:
----------------------------------------------------------
Commit 3f38be8c089c7f478359397f6b43b61336b0ca08 in activemq-artemis's branch
refs/heads/main from Clebert Suconic
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=3f38be8 ]
ARTEMIS-3310 Paging could lose AMQPmessage if match didn't work for any reason
> 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
> Time Spent: 10m
> 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)