Clebert Suconic created ARTEMIS-3310:
----------------------------------------

             Summary: 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


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