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