You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by ch...@apache.org on 2022/12/08 14:38:21 UTC

[bookkeeper] 04/08: refactor ByteBuf release usage (#3687)

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

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

commit 236b0ab69cd3aed974f8a853281e1cfc14856d2b
Author: Qiang Huang <qi...@gmail.com>
AuthorDate: Tue Dec 6 15:22:22 2022 +0800

    refactor ByteBuf release usage (#3687)
    
    (cherry picked from commit e13ff85234dc9b78e0d9897b483b0db0e1209595)
---
 .../java/org/apache/bookkeeper/tools/perf/journal/JournalWriter.java | 3 ++-
 .../java/org/apache/bookkeeper/tools/perf/table/IncrementTask.java   | 3 ++-
 .../main/java/org/apache/bookkeeper/tools/perf/table/WriteTask.java  | 5 +++--
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/journal/JournalWriter.java b/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/journal/JournalWriter.java
index 1f38c426bf..e864c93a1d 100644
--- a/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/journal/JournalWriter.java
+++ b/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/journal/JournalWriter.java
@@ -26,6 +26,7 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufAllocator;
 import io.netty.buffer.Unpooled;
+import io.netty.util.ReferenceCountUtil;
 import java.io.File;
 import java.io.IOException;
 import java.text.DecimalFormat;
@@ -389,7 +390,7 @@ public class JournalWriter implements Runnable {
                     buf,
                     false,
                     (rc, ledgerId, entryId, addr, ctx) -> {
-                        buf.release();
+                        ReferenceCountUtil.safeRelease(buf);
                         if (0 == rc) {
                             if (null != semaphore) {
                                 semaphore.release(len);
diff --git a/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/table/IncrementTask.java b/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/table/IncrementTask.java
index 3f047d9c26..16b295786d 100644
--- a/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/table/IncrementTask.java
+++ b/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/table/IncrementTask.java
@@ -22,6 +22,7 @@ package org.apache.bookkeeper.tools.perf.table;
 import com.google.common.util.concurrent.RateLimiter;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.PooledByteBufAllocator;
+import io.netty.util.ReferenceCountUtil;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
 import lombok.extern.slf4j.Slf4j;
@@ -89,7 +90,7 @@ abstract class IncrementTask extends BenchmarkTask {
                     );
                     writeOpStats.recordOp(latencyMicros);
                 }
-                keyBuf.release();
+                ReferenceCountUtil.safeRelease(keyBuf);
             });
     }
 
diff --git a/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/table/WriteTask.java b/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/table/WriteTask.java
index a74c67abc1..00215bc4a4 100644
--- a/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/table/WriteTask.java
+++ b/tools/perf/src/main/java/org/apache/bookkeeper/tools/perf/table/WriteTask.java
@@ -23,6 +23,7 @@ import com.google.common.util.concurrent.RateLimiter;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.PooledByteBufAllocator;
 import io.netty.buffer.Unpooled;
+import io.netty.util.ReferenceCountUtil;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.TimeUnit;
@@ -95,8 +96,8 @@ abstract class WriteTask extends BenchmarkTask {
                     );
                     writeOpStats.recordOp(latencyMicros);
                 }
-                keyBuf.release();
-                valBuf.release();
+                ReferenceCountUtil.safeRelease(keyBuf);
+                ReferenceCountUtil.safeRelease(valBuf);
             });
     }