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

penghui pushed a commit to branch branch-2.7
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit 9614491e37184b8ca26e3abd999ef08e30508a62
Author: congbo <[email protected]>
AuthorDate: Sat Dec 5 02:02:11 2020 +0800

    Fix bit set recycle repeat in client ack message (#8829)
    
    Co-authored-by: congbo <[email protected]>
    (cherry picked from commit 1674c4c9460afcb3e4f422720a49fa108793d718)
---
 .../src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java        | 1 +
 .../src/main/java/org/apache/pulsar/common/protocol/Commands.java        | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java
index 1f2613c..2062671 100644
--- 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java
+++ 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java
@@ -2429,6 +2429,7 @@ public class ConsumerImpl<T> extends ConsumerBase<T> 
implements ConnectionHandle
             }
             cmd = Commands.newAck(consumerId, ledgerId, entryId, 
bitSetRecyclable, ackType, validationError, properties,
                     txnID.getLeastSigBits(), txnID.getMostSigBits(), 
requestId, batchMessageId.getBatchSize());
+            bitSetRecyclable.recycle();
         } else {
             MessageIdImpl singleMessage = (MessageIdImpl) messageId;
             ledgerId = singleMessage.getLedgerId();
diff --git 
a/pulsar-common/src/main/java/org/apache/pulsar/common/protocol/Commands.java 
b/pulsar-common/src/main/java/org/apache/pulsar/common/protocol/Commands.java
index cc6e944..a2df6d1 100644
--- 
a/pulsar-common/src/main/java/org/apache/pulsar/common/protocol/Commands.java
+++ 
b/pulsar-common/src/main/java/org/apache/pulsar/common/protocol/Commands.java
@@ -1158,7 +1158,6 @@ public class Commands {
         messageIdDataBuilder.setEntryId(entryId);
         if (ackSet != null) {
             
messageIdDataBuilder.addAllAckSet(SafeCollectionUtils.longArrayToList(ackSet.toLongArray()));
-            ackSet.recycle();
         }
 
         if (batchSize >= 0) {

Reply via email to