From 9a02b899cdad7284dc46ade49fc94903904920ee Mon Sep 17 00:00:00 2001 From: lordchen1020 <1572139390@qq.com> Date: Tue, 21 Sep 2021 14:52:05 +0800 Subject: [PATCH 1/3] Remove unused method: asyncCloseCursorLedger --- .../mledger/impl/ManagedCursorImpl.java | 17 ----------------- 1 file changed, 17 deletions(-) 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 516c2aff4553d..9be236564f02b 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 @@ -2724,23 +2724,6 @@ void notifyEntriesAvailable() { } } - void asyncCloseCursorLedger(final AsyncCallbacks.CloseCallback callback, final Object ctx) { - LedgerHandle lh = cursorLedger; - ledger.mbean.startCursorLedgerCloseOp(); - log.info("[{}] [{}] Closing metadata ledger {}", ledger.getName(), name, lh.getId()); - lh.asyncClose(new CloseCallback() { - @Override - public void closeComplete(int rc, LedgerHandle lh, Object ctx) { - ledger.mbean.endCursorLedgerCloseOp(); - if (rc == BKException.Code.OK) { - callback.closeComplete(ctx); - } else { - callback.closeFailed(createManagedLedgerException(rc), ctx); - } - } - }, ctx); - } - void decrementPendingMarkDeleteCount() { if (PENDING_MARK_DELETED_SUBMITTED_COUNT_UPDATER.decrementAndGet(this) == 0) { final State state = STATE_UPDATER.get(this); From 0eccccdb7ee37659c095f766997f9800fcd52487 Mon Sep 17 00:00:00 2001 From: lordchen1020 <1572139390@qq.com> Date: Fri, 24 Sep 2021 10:26:55 +0800 Subject: [PATCH 2/3] use asyncCloseCursorLedger to replace the code in the operationComplete method --- .../mledger/impl/ManagedCursorImpl.java | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) 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 9be236564f02b..0be9499a70c7f 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 @@ -2235,18 +2235,7 @@ void persistPositionWhenClosing(PositionImpl position, Map propert public void operationComplete() { log.info("[{}][{}] Updated md-position={} into cursor-ledger {}", ledger.getName(), name, markDeletePosition, cursorLedger.getId()); - cursorLedger.asyncClose((rc, lh, ctx1) -> { - callback.closeComplete(ctx); - - if (rc == BKException.Code.OK) { - log.info("[{}][{}] Closed cursor-ledger {}", ledger.getName(), name, - cursorLedger.getId()); - } else { - log.warn("[{}][{}] Failed to close cursor-ledger {}: {}", ledger.getName(), name, - cursorLedger.getId(), BKException.getMessage(rc)); - } - }, ctx); - + asyncCloseCursorLedger(callback, ctx); } @Override @@ -2724,6 +2713,23 @@ void notifyEntriesAvailable() { } } + void asyncCloseCursorLedger(final AsyncCallbacks.CloseCallback callback, final Object ctx) { + LedgerHandle lh = cursorLedger; + ledger.mbean.startCursorLedgerCloseOp(); + log.info("[{}] [{}] Closing metadata ledger {}", ledger.getName(), name, lh.getId()); + lh.asyncClose(new CloseCallback() { + @Override + public void closeComplete(int rc, LedgerHandle lh, Object ctx) { + ledger.mbean.endCursorLedgerCloseOp(); + if (rc == BKException.Code.OK) { + callback.closeComplete(ctx); + } else { + callback.closeFailed(createManagedLedgerException(rc), ctx); + } + } + }, ctx); + } + void decrementPendingMarkDeleteCount() { if (PENDING_MARK_DELETED_SUBMITTED_COUNT_UPDATER.decrementAndGet(this) == 0) { final State state = STATE_UPDATER.get(this); From 90ddc7883b8468543826aa6550ec466e13e31f8f Mon Sep 17 00:00:00 2001 From: lordchen1020 <1572139390@qq.com> Date: Tue, 28 Sep 2021 09:52:54 +0800 Subject: [PATCH 3/3] update the asyncCloseCursorLedger method to log the two removed log lines. --- .../org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java | 4 ++++ 1 file changed, 4 insertions(+) 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 0be9499a70c7f..235736da760dc 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 @@ -2722,8 +2722,12 @@ void asyncCloseCursorLedger(final AsyncCallbacks.CloseCallback callback, final O public void closeComplete(int rc, LedgerHandle lh, Object ctx) { ledger.mbean.endCursorLedgerCloseOp(); if (rc == BKException.Code.OK) { + log.info("[{}][{}] Closed cursor-ledger {}", ledger.getName(), name, + cursorLedger.getId()); callback.closeComplete(ctx); } else { + log.warn("[{}][{}] Failed to close cursor-ledger {}: {}", ledger.getName(), name, + cursorLedger.getId(), BKException.getMessage(rc)); callback.closeFailed(createManagedLedgerException(rc), ctx); } }