This is an automated email from the ASF dual-hosted git repository.
chenhang 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 13ccc4caf8 Only acquire buffer when need write. (#3786)
13ccc4caf8 is described below
commit 13ccc4caf8ad80e84279e88edae0e71b8a555e09
Author: lifepuzzlefun <[email protected]>
AuthorDate: Tue Feb 21 09:10:06 2023 +0800
Only acquire buffer when need write. (#3786)
### Motivation
small fix: when ByteBuf size is zero. the acquired buffer is not released.
---
.../bookkeeper/bookie/storage/directentrylogger/DirectWriter.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/directentrylogger/DirectWriter.java
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/directentrylogger/DirectWriter.java
index e9ef166c5b..17466d1e40 100644
---
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/directentrylogger/DirectWriter.java
+++
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/directentrylogger/DirectWriter.java
@@ -113,12 +113,13 @@ class DirectWriter implements LogWriter {
checkArgument(Buffer.isAligned(buf.readableBytes()),
"Buffer must write multiple of alignment bytes (%d), %d
is not",
Buffer.ALIGNMENT, buf.readableBytes());
- Buffer tmpBuffer = bufferPool.acquire();
+
int bytesToWrite = buf.readableBytes();
if (bytesToWrite <= 0) {
return;
}
+ Buffer tmpBuffer = bufferPool.acquire();
tmpBuffer.reset();
tmpBuffer.writeByteBuf(buf);
Future<?> f = writeExecutor.submit(() -> {