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

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

commit fc396430805b47caadd95f1365a74d29e1861ef2
Author: baomingyu <[email protected]>
AuthorDate: Fri Jan 7 12:51:41 2022 +0800

    Fix issues 11964, deadlock bug when use key_shared mode (#11965)
    
    (cherry picked from commit fd3ba55f8e39992ecbc96830af5ee58e3247a25a)
---
 .../java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java    | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git 
a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java
 
b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java
index f22b327..61a5aa3 100644
--- 
a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java
+++ 
b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java
@@ -1992,7 +1992,6 @@ public class ManagedCursorImpl implements ManagedCursor {
 
             if (individualDeletedMessages.isEmpty()) {
                 // No changes to individually deleted messages, so nothing to 
do at this point
-                callback.deleteComplete(ctx);
                 return;
             }
 
@@ -2024,6 +2023,9 @@ public class ManagedCursorImpl implements ManagedCursor {
             return;
         } finally {
             lock.writeLock().unlock();
+            if (individualDeletedMessages.isEmpty()) {
+                callback.deleteComplete(ctx);
+            }
         }
 
         // Apply rate limiting to mark-delete operations

Reply via email to