Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
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.
Attachments
Issue Links
- is duplicated by
-
ARTEMIS-3279 Paging could lose data if a consumer holds pending messages at the beginning of the page cursor, and a reconnect happens
- Closed
- links to