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

yong pushed a commit to branch branch-4.15
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git

commit 314170d4c67135a90913b97fb0efecd41d3e56b9
Author: lifepuzzlefun <[email protected]>
AuthorDate: Tue Aug 29 14:52:16 2023 +0800

    fix read write request leak when executor full. (#4024)
    
    Co-authored-by: wangjinlong <[email protected]>
    (cherry picked from commit 0b0fe0bb42b535c9b447b6ed95b961899832f76b)
---
 .../main/java/org/apache/bookkeeper/proto/BookieRequestProcessor.java | 4 ++++
 .../src/main/java/org/apache/bookkeeper/proto/ReadEntryProcessor.java | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieRequestProcessor.java
 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieRequestProcessor.java
index cb72b70681..13c15db6ac 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieRequestProcessor.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieRequestProcessor.java
@@ -647,6 +647,9 @@ public class BookieRequestProcessor implements 
RequestProcessor {
                     BookieProtocol.ETOOMANYREQUESTS,
                     
ResponseBuilder.buildErrorResponse(BookieProtocol.ETOOMANYREQUESTS, r),
                     requestStats.getAddRequestStats());
+                r.release();
+                r.recycle();
+                write.recycle();
             }
         }
     }
@@ -682,6 +685,7 @@ public class BookieRequestProcessor implements 
RequestProcessor {
                     
ResponseBuilder.buildErrorResponse(BookieProtocol.ETOOMANYREQUESTS, r),
                     requestStats.getReadRequestStats());
                 onReadRequestFinish();
+                read.recycle();
             }
         }
     }
diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/ReadEntryProcessor.java
 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/ReadEntryProcessor.java
index c1127436ac..2b15b398f7 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/ReadEntryProcessor.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/ReadEntryProcessor.java
@@ -189,7 +189,7 @@ class ReadEntryProcessor extends 
PacketProcessorBase<ReadRequest> {
         return String.format("ReadEntry(%d, %d)", request.getLedgerId(), 
request.getEntryId());
     }
 
-    private void recycle() {
+    void recycle() {
         request.recycle();
         super.reset();
         this.recyclerHandle.recycle(this);

Reply via email to