franz1981 commented on a change in pull request #3048: ARTEMIS-1975 Fixing 
LargeMessage encoding for replication
URL: https://github.com/apache/activemq-artemis/pull/3048#discussion_r398090739
 
 

 ##########
 File path: 
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPLargeMessagePersister.java
 ##########
 @@ -96,10 +91,11 @@ public void encode(ActiveMQBuffer buffer, Message record) {
          properties.encode(buffer.byteBuf());
       }
 
-      ByteBuf savedEncodeBuffer = getSavedEncodeBuffer(record);
+      ByteBuf savedEncodeBuffer = msgEncode.getSavedEncodeBuffer();
       buffer.writeBytes(savedEncodeBuffer, 0, savedEncodeBuffer.writerIndex());
-      savedEncodeBuffer.release();
-      msgEncode.temporaryBuffer = null;
+      msgEncode.releaseEncodedBuffer();
+      msgEncode.releaseEncodedBuffer(); // We need two releases here, one for 
the retain when the savedEncodeBuffer was called
 
 Review comment:
   I'm still fighting to find some water :( 
   I would like you to be happy about the naming anyway, impl-wire you can use 
https://netty.io/4.1/api/io/netty/util/ReferenceCounted.html#release-int- that 
would release the buffer the number of times you need (and can return a boolean 
if you need to do something right after too)

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to