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

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


The following commit(s) were added to refs/heads/branch-2.9 by this push:
     new ce366603606 [fix][client] Release semaphore before discarding messages 
in batchMessageContainer (#17019)
ce366603606 is described below

commit ce366603606e17044afe6d6dd3cd964bc671cecb
Author: Zike Yang <[email protected]>
AuthorDate: Thu Aug 11 09:24:30 2022 +0800

    [fix][client] Release semaphore before discarding messages in 
batchMessageContainer (#17019)
---
 .../src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java
index 53578b0eb3b..0a0ba549650 100644
--- 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java
+++ 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java
@@ -1865,9 +1865,9 @@ public class ProducerImpl<T> extends ProducerBase<T> 
implements TimerTask, Conne
         }
         final int numMessagesInBatch = 
batchMessageContainer.getNumMessagesInBatch();
         final long currentBatchSize = 
batchMessageContainer.getCurrentBatchSize();
-        batchMessageContainer.discard(ex);
         semaphoreRelease(numMessagesInBatch);
         client.getMemoryLimitController().releaseMemory(currentBatchSize);
+        batchMessageContainer.discard(ex);
     }
 
     @Override

Reply via email to