You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Clebert Suconic (Jira)" <ji...@apache.org> on 2020/03/17 13:57:00 UTC

[jira] [Commented] (ARTEMIS-2658) AMQP message read from page has wrong encode size

    [ https://issues.apache.org/jira/browse/ARTEMIS-2658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17060925#comment-17060925 ] 

Clebert Suconic commented on ARTEMIS-2658:
------------------------------------------

Notice this has no effect on any previous version as we never released with this bug. It was caught on master before any release.

> AMQP message read from page has wrong encode size
> -------------------------------------------------
>
>                 Key: ARTEMIS-2658
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2658
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: AMQP, Broker
>    Affects Versions: 2.12.0
>            Reporter: Francesco Nigro
>            Priority: Minor
>             Fix For: 2.12.0
>
>          Time Spent: 2h
>  Remaining Estimate: 0h
>
> 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)