[ 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)