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 36c35613adde248894bb9fdb935e2027847dd945
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 8f671c5..2a90897 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
@@ -1907,7 +1907,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;
             }
 
@@ -1939,6 +1938,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