From a995c1b4010db426684ba2c0e86cb7f13e7c3d24 Mon Sep 17 00:00:00 2001 From: gavingaozhangmin Date: Fri, 2 Dec 2022 14:30:14 +0800 Subject: [PATCH] Fix no durable cursor leak problem --- .../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 73b204f474944..285710e29305a 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 synchronized void asyncDeleteCursor(final String consumerName, final Dele return; } else if (!cursor.isDurable()) { cursors.removeCursor(consumerName); + cursor.setInactive(); callback.deleteCursorComplete(ctx); return; } @@ -984,6 +985,7 @@ public synchronized void asyncDeleteCursor(final String consumerName, final Dele @Override public void operationComplete(Void result, Stat stat) { cursor.asyncDeleteCursorLedger(); + cursor.setInactive(); cursors.removeCursor(consumerName); // Redo invalidation of entries in cache