You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by he...@apache.org on 2022/04/15 06:35:45 UTC

[incubator-inlong] branch master updated: [INLONG-3718][Audit] ByteBuf may leaks memory (#3725)

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

healchow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 82afdaa21 [INLONG-3718][Audit] ByteBuf may leaks memory (#3725)
82afdaa21 is described below

commit 82afdaa21bfd33660d8dd4721537ccedb1c9489e
Author: baomingyu <ba...@163.com>
AuthorDate: Fri Apr 15 14:35:41 2022 +0800

    [INLONG-3718][Audit] ByteBuf may leaks memory (#3725)
---
 .../src/main/java/org/apache/inlong/audit/send/SenderHandler.java    | 5 ++---
 .../src/main/java/org/apache/inlong/audit/send/SenderManager.java    | 5 ++---
 .../src/main/java/org/apache/inlong/audit/util/Decoder.java          | 4 ++--
 3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderHandler.java b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderHandler.java
index 2a336f349..dd8ff1a3a 100644
--- a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderHandler.java
+++ b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderHandler.java
@@ -17,13 +17,12 @@
 
 package org.apache.inlong.audit.send;
 
-import io.netty.buffer.ByteBuf;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.SimpleChannelInboundHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class SenderHandler extends SimpleChannelInboundHandler<ByteBuf> {
+public class SenderHandler extends SimpleChannelInboundHandler<byte[]> {
     private static final Logger logger = LoggerFactory.getLogger(SenderHandler.class);
     private SenderManager manager;
 
@@ -40,7 +39,7 @@ public class SenderHandler extends SimpleChannelInboundHandler<ByteBuf> {
      * Message Received
      */
     @Override
-    public void channelRead0(io.netty.channel.ChannelHandlerContext ctx, ByteBuf e)  {
+    public void channelRead0(io.netty.channel.ChannelHandlerContext ctx, byte[] e)  {
         try {
             manager.onMessageReceived(ctx, e);
         } catch (Throwable ex) {
diff --git a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderManager.java b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderManager.java
index 4355a6a09..d7c9139d9 100644
--- a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderManager.java
+++ b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderManager.java
@@ -268,11 +268,10 @@ public class SenderManager {
      * @param ctx ctx
      * @param msg msg
      */
-    public void onMessageReceived(ChannelHandlerContext ctx, ByteBuf msg) {
+    public void onMessageReceived(ChannelHandlerContext ctx, byte[] msg) {
         try {
             //Analyze abnormal events
-            ByteBuf readBuffer = msg;
-            byte[] readBytes = readBuffer.array();
+            byte[] readBytes = msg;
             AuditApi.BaseCommand baseCommand = AuditApi.BaseCommand.parseFrom(readBytes);
             // Parse request id
             Long requestId = baseCommand.getAuditReply().getRequestId();
diff --git a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/util/Decoder.java b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/util/Decoder.java
index 03ff94312..cf14e471f 100644
--- a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/util/Decoder.java
+++ b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/util/Decoder.java
@@ -18,7 +18,6 @@
 package org.apache.inlong.audit.util;
 
 import io.netty.buffer.ByteBuf;
-import io.netty.buffer.ByteBufAllocator;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.handler.codec.MessageToMessageDecoder;
 import java.util.List;
@@ -49,7 +48,8 @@ public class Decoder extends MessageToMessageDecoder<ByteBuf> {
             buffer.resetReaderIndex();
             return;
         }
-        ByteBuf returnBuffer = ByteBufAllocator.DEFAULT.buffer(totalLen);
+        byte[] returnBuffer = new byte[totalLen];
         buffer.readBytes(returnBuffer, 0, totalLen);
+        out.add(returnBuffer);
     }
 }