From 09c29bc65b4af1c9648be8d6e8bffde01df40db3 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Wed, 5 Mar 2025 14:51:46 +0200 Subject: [PATCH] [fix][ml] Avoid NPE when getCurrentLedger() returns null --- .../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 32d46ff1c3c40..2972bb9a2477f 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 @@ -3826,7 +3826,8 @@ static long estimateEntryCountBySize(long bytesSize, Position readPosition, Mana while (remainingBytesSize > 0) { // Last ledger. - if (posToRead.getLedgerId() == ml.getCurrentLedger().getId()) { + LedgerHandle currentLedger = ml.getCurrentLedger(); + if (currentLedger != null && posToRead.getLedgerId() == currentLedger.getId()) { if (ml.getCurrentLedgerSize() == 0 || ml.getCurrentLedgerEntries() == 0) { // Only read 1 entry if no entries to read. return 1;