This is an automated email from the ASF dual-hosted git repository.
lushiji pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
The following commit(s) were added to refs/heads/master by this push:
new 62155369d1 Fix byteBuf potential memory leak problem. (#3525)
62155369d1 is described below
commit 62155369d199f36720938e913541b223dab8b047
Author: Yan Zhao <[email protected]>
AuthorDate: Thu Oct 13 10:42:01 2022 +0800
Fix byteBuf potential memory leak problem. (#3525)
* Fix byteBuf potential memory leak problem.
---
.../main/java/org/apache/bookkeeper/proto/PacketProcessorBase.java | 6 ++++++
1 file changed, 6 insertions(+)
diff --git
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PacketProcessorBase.java
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PacketProcessorBase.java
index 07954d746a..c1bf977956 100644
---
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PacketProcessorBase.java
+++
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/PacketProcessorBase.java
@@ -109,6 +109,9 @@ abstract class PacketProcessorBase<T extends Request>
extends SafeRunnable {
requestProcessor.getRequestStats().getChannelWriteStats()
.registerFailedEvent(MathUtils.elapsedNanos(writeNanos),
TimeUnit.NANOSECONDS);
statsLogger.registerFailedEvent(MathUtils.elapsedNanos(enqueueNanos),
TimeUnit.NANOSECONDS);
+ if (response instanceof BookieProtocol.ReadResponse) {
+ ((BookieProtocol.ReadResponse) response).release();
+ }
return;
} else {
requestProcessor.invalidateBlacklist(channel);
@@ -118,6 +121,9 @@ abstract class PacketProcessorBase<T extends Request>
extends SafeRunnable {
if (channel.isActive()) {
channel.writeAndFlush(response, channel.voidPromise());
} else {
+ if (response instanceof BookieProtocol.ReadResponse) {
+ ((BookieProtocol.ReadResponse) response).release();
+ }
LOGGER.debug("Netty channel {} is inactive, "
+ "hence bypassing netty channel writeAndFlush during
sendResponse", channel);
}