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/06 02:16:56 UTC

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

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

zhangmingao 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 e7b8cf6368a [branch-2.9] Fix no durable cursor leak problem (#18710)
e7b8cf6368a is described below

commit e7b8cf6368a6fda4d3b077f39e217f2d3ffd8bbd
Author: gaozhangmin <zh...@apache.org>
AuthorDate: Tue Dec 6 10:16:49 2022 +0800

    [branch-2.9] Fix no durable cursor leak problem (#18710)
    
    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 27b0141e129..280d75f51e7 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
@@ -958,6 +958,7 @@ public class ManagedLedgerImpl implements ManagedLedger, CreateCallback {
             return;
         } else if (!cursor.isDurable()) {
             cursors.removeCursor(consumerName);
+            cursor.setInactive();
             callback.deleteCursorComplete(ctx);
             return;
         }
@@ -968,6 +969,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