This is an automated email from the ASF dual-hosted git repository. penghui pushed a commit to branch branch-2.8 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 5c527f2610f640d791b8f092a1c730a518ddc81d Author: Kai Wang <[email protected]> AuthorDate: Fri Apr 8 11:40:25 2022 +0800 Fix when nextValidLedger is null cause npe (#13975) (cherry picked from commit 5cf3fa0d8050b16305ee060820b884d69ec8a828) --- .../java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 dfd4d6f220a..6bcb038b9e1 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 @@ -1699,7 +1699,8 @@ public class ManagedCursorImpl implements ManagedCursor { try { long ledgerEntries = ledger.getLedgerInfo(markDeletePosition.getLedgerId()).get().getEntries(); Long nextValidLedger = ledger.getNextValidLedger(ledger.getLastConfirmedEntry().getLedgerId()); - shouldCursorMoveForward = (markDeletePosition.getEntryId() + 1 >= ledgerEntries) + shouldCursorMoveForward = nextValidLedger != null + && (markDeletePosition.getEntryId() + 1 >= ledgerEntries) && (newPosition.getLedgerId() == nextValidLedger); } catch (Exception e) { log.warn("Failed to get ledger entries while setting mark-delete-position", e);
