You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/03/15 16:43:59 UTC

[incubator-pulsar] branch master updated: Make close on RawMessage idempotent (#1390)

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 9ee682b  Make close on RawMessage idempotent (#1390)
9ee682b is described below

commit 9ee682b028f4eaed4787779dd51bfb1e0e8b8c07
Author: Ivan Kelly <iv...@apache.org>
AuthorDate: Thu Mar 15 17:43:57 2018 +0100

    Make close on RawMessage idempotent (#1390)
    
    Closing a raw message twice should not corrupt memory.
---
 .../src/main/java/org/apache/pulsar/client/impl/RawMessageImpl.java   | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/client/impl/RawMessageImpl.java b/pulsar-broker/src/main/java/org/apache/pulsar/client/impl/RawMessageImpl.java
index 52632f4..72278c9 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/client/impl/RawMessageImpl.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/client/impl/RawMessageImpl.java
@@ -19,6 +19,7 @@
 package org.apache.pulsar.client.impl;
 
 import java.io.IOException;
+import io.netty.buffer.Unpooled;
 
 import org.apache.pulsar.client.api.MessageId;
 import org.apache.pulsar.client.api.RawMessage;
@@ -35,7 +36,7 @@ public class RawMessageImpl implements RawMessage {
     private static final Logger log = LoggerFactory.getLogger(RawMessageImpl.class);
 
     private final MessageIdData id;
-    private final ByteBuf headersAndPayload;
+    private ByteBuf headersAndPayload;
 
     public RawMessageImpl(MessageIdData id, ByteBuf headersAndPayload) {
         this.id = id;
@@ -61,6 +62,7 @@ public class RawMessageImpl implements RawMessage {
     @Override
     public void close() {
         headersAndPayload.release();
+        headersAndPayload = Unpooled.EMPTY_BUFFER;
     }
 
     @Override

-- 
To stop receiving notification emails like this one, please contact
mmerli@apache.org.