This is an automated email from the ASF dual-hosted git repository.
mattisonchao pushed a commit to branch branch-2.9
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.9 by this push:
new 6b3ed2977ff [fix][broker] Fix NPE when drop backlog for time limit.
(#16235)
6b3ed2977ff is described below
commit 6b3ed2977ff7b262c52c8603a47596f24efe4de6
Author: Jiwei Guo <[email protected]>
AuthorDate: Tue Jun 28 14:39:00 2022 +0800
[fix][broker] Fix NPE when drop backlog for time limit. (#16235)
(cherry picked from commit d24d82780fd27a98c6cdbee28d756ee7d419495f)
---
.../java/org/apache/pulsar/broker/service/BacklogQuotaManager.java | 4 ++++
1 file changed, 4 insertions(+)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BacklogQuotaManager.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BacklogQuotaManager.java
index 6efc1a4ed9b..ee12c3ff743 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BacklogQuotaManager.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BacklogQuotaManager.java
@@ -243,6 +243,10 @@ public class BacklogQuotaManager {
ManagedCursor slowestConsumer =
mLedger.getSlowestConsumer();
Position oldestPosition =
slowestConsumer.getMarkDeletedPosition();
ManagedLedgerInfo.LedgerInfo ledgerInfo =
mLedger.getLedgerInfo(oldestPosition.getLedgerId()).get();
+ if (ledgerInfo == null) {
+
slowestConsumer.resetCursor(mLedger.getNextValidPosition((PositionImpl)
oldestPosition));
+ continue;
+ }
// Timestamp only > 0 if ledger has been closed
if (ledgerInfo.getTimestamp() > 0
&& currentMillis - ledgerInfo.getTimestamp() >
quota.getLimitTime()) {