[ 
https://issues.apache.org/jira/browse/ARTEMIS-3459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robbie Gemmell resolved ARTEMIS-3459.
-------------------------------------
    Resolution: Fixed

> AMQPMessage.scanMessageData() creates unecessary buffer wrapper
> ---------------------------------------------------------------
>
>                 Key: ARTEMIS-3459
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3459
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 2.18.0
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>            Priority: Trivial
>             Fix For: 2.19.0
>
>
> The AMQPMessage.scanMessageData(ReadableBuffer) method creates an unecessary 
> buffer wrapper on every decode. The method has the equivalent of:
> {code}
> decoder.setBuffer(data);
>  try {
>    //...use decoder..
>  } finally {
>    decoder.setByteBuffer(null);
>  }
> {code}
> Effectively it tries to use the thread-local decoder, then ensure the related 
> buffer is discarded after.
> However the two setter uses are different, with the former taking the 
> ReadableBuffer directly, and the latter method expected to be passed a 
> ByteBuffer, which causes creation of a ReadableBuffer wrapper for it. By 
> passing it null with that method, a needless wrapper object is created. One 
> which is discarded on the next decode by that thread when it sets the next 
> actual buffer. It should be using setBuffer(null).



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

Reply via email to