You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by zh...@apache.org on 2022/12/02 09:47:20 UTC

[pulsar] branch branch-2.10 updated: [branch-2.10] Fix no durable cursor leak problem (#18708)

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

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


The following commit(s) were added to refs/heads/branch-2.10 by this push:
     new b601a9e2a03 [branch-2.10] Fix no durable cursor leak problem (#18708)
b601a9e2a03 is described below

commit b601a9e2a03af0ba25cfae19ce34c83322c0cdd7
Author: gaozhangmin <zh...@apache.org>
AuthorDate: Fri Dec 2 17:47:10 2022 +0800

    [branch-2.10] Fix no durable cursor leak problem (#18708)
    
    Co-authored-by: gavingaozhangmin <ga...@didiglobal.com>
---
 .../main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java
index 73b204f4749..285710e2930 100644
--- a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java
+++ b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java
@@ -974,6 +974,7 @@ public class ManagedLedgerImpl implements ManagedLedger, CreateCallback {
             return;
         } else if (!cursor.isDurable()) {
             cursors.removeCursor(consumerName);
+            cursor.setInactive();
             callback.deleteCursorComplete(ctx);
             return;
         }
@@ -984,6 +985,7 @@ public class ManagedLedgerImpl implements ManagedLedger, CreateCallback {
             @Override
             public void operationComplete(Void result, Stat stat) {
                 cursor.asyncDeleteCursorLedger();
+                cursor.setInactive();
                 cursors.removeCursor(consumerName);
 
                 // Redo invalidation of entries in cache