This is an automated email from the ASF dual-hosted git repository.

eolivelli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 7ac8e3e003b [bug][broker] fix memory leak in case of error conditions 
in PendingReadsManager (#17995)
7ac8e3e003b is described below

commit 7ac8e3e003bde0d32049bf0fc09e25cfed4ded58
Author: Enrico Olivelli <[email protected]>
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);
                                         }
                                     };

Reply via email to