Description
https://issues.apache.org/jira/browse/ARTEMIS-2617 has introduced a change to save AMQPMessagePersisterV2::decode from re-creating AMQPMessage::extraProperties, but this has introduced a new way to adjust the existing AMQPMessage::extraProperties's TypedProperties::size while decoding the rest of the buffer.
In the original implementation, the existing AMQPMessage::extraProperties created by AMQPMessagePersister::decode was completely overwritten.
Page::read can use an offset to search for a specific message in a page and PageSubscriptionImpl is using PagedMessageImpl::getEncodeSize to compute this offset: after a successfull Page::read, AMQPMessagePersisterV2::decode can corrupt the extra properties encode size, making the next message unreachable.
This can be solved by preserving the original semantic ie overwriting the existing AMQPMessage::extraProperties in order to fix the encode size.
Attachments
Issue Links
- is caused by
-
ARTEMIS-2617 Improve AMQP Journal loading
- Closed
- relates to
-
ARTEMIS-2662 Page is broken for AMQP if readWholePage=true
- Closed
- links to