You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by te...@apache.org on 2022/10/13 02:26:00 UTC
[pulsar] 04/04: [bug][broker] fix memory leak in case of error conditions in PendingReadsManager (#17995)
This is an automated email from the ASF dual-hosted git repository.
technoboy pushed a commit to branch branch-2.11
in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 1fc4ccf8240447d0b164e059400701365f2477e3
Author: Enrico Olivelli <eo...@apache.org>
AuthorDate: Wed Oct 12 10:58:05 2022 +0200
[bug][broker] fix memory leak in case of error conditions in PendingReadsManager (#17995)
Co-authored-by: Enrico Olivelli <il>
---
.../apache/bookkeeper/mledger/impl/cache/PendingReadsManager.java | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/cache/PendingReadsManager.java b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/cache/PendingReadsManager.java
index 4c374d8ace6..30216871e76 100644
--- a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/cache/PendingReadsManager.java
+++ b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/cache/PendingReadsManager.java
@@ -356,6 +356,8 @@ public class PendingReadsManager {
@Override
public void readEntriesFailed(ManagedLedgerException exception,
Object dummyCtx3) {
+ entries.forEach(Entry::release);
+ entriesFromLeft.forEach(Entry::release);
callback.readEntriesFailed(exception, ctx);
}
};
@@ -366,6 +368,7 @@ public class PendingReadsManager {
@Override
public void readEntriesFailed(ManagedLedgerException exception, Object dummyCtx4) {
+ entries.forEach(Entry::release);
callback.readEntriesFailed(exception, ctx);
}
};
@@ -388,6 +391,7 @@ public class PendingReadsManager {
@Override
public void readEntriesFailed(ManagedLedgerException exception,
Object dummyCtx6) {
+ entries.forEach(Entry::release);
callback.readEntriesFailed(exception, ctx);
}
};
@@ -410,6 +414,7 @@ public class PendingReadsManager {
@Override
public void readEntriesFailed(ManagedLedgerException exception,
Object dummyCtx8) {
+ entries.forEach(Entry::release);
callback.readEntriesFailed(exception, ctx);
}
};