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..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 @@ -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 @@ -2733,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); } }