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)