[ 
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)

Reply via email to