You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2023/01/05 09:19:45 UTC

[inlong] branch master updated: [INLONG-7159][Audit] Fix the problem of audit sdk create thread not deployed (#7160)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 5dec75571 [INLONG-7159][Audit] Fix the problem of audit sdk create thread not deployed (#7160)
5dec75571 is described below

commit 5dec75571011ba69585f59ae024dcafc5fa21829
Author: doleyzi <43...@users.noreply.github.com>
AuthorDate: Thu Jan 5 17:19:38 2023 +0800

    [INLONG-7159][Audit] Fix the problem of audit sdk create thread not deployed (#7160)
    
    Co-authored-by: doleyzi <do...@tencent.com>
---
 .../org/apache/inlong/audit/send/ClientPipelineFactory.java |  9 ++++-----
 .../java/org/apache/inlong/audit/send/SenderChannel.java    |  8 +++++---
 .../src/main/java/org/apache/inlong/audit/util/Config.java  | 13 ++++++-------
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/ClientPipelineFactory.java b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/ClientPipelineFactory.java
index d6694b7a1..1800714cf 100644
--- a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/ClientPipelineFactory.java
+++ b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/ClientPipelineFactory.java
@@ -18,21 +18,20 @@
 package org.apache.inlong.audit.send;
 
 import io.netty.channel.ChannelInitializer;
-import io.netty.channel.SimpleChannelInboundHandler;
 import io.netty.channel.socket.SocketChannel;
 import org.apache.inlong.audit.util.Decoder;
 
 public class ClientPipelineFactory extends ChannelInitializer<SocketChannel> {
 
-    private final SimpleChannelInboundHandler sendHandler;
+    private SenderManager senderManager;
 
-    public ClientPipelineFactory(SimpleChannelInboundHandler sendHandler) {
-        this.sendHandler = sendHandler;
+    public ClientPipelineFactory(SenderManager senderManager) {
+        this.senderManager = senderManager;
     }
 
     @Override
     public void initChannel(SocketChannel ch) throws Exception {
         ch.pipeline().addLast("contentDecoder", new Decoder());
-        ch.pipeline().addLast("handler", sendHandler);
+        ch.pipeline().addLast("handler", new SenderHandler(senderManager));
     }
 }
diff --git a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderChannel.java b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderChannel.java
index 85f42b4e3..28d0cc35b 100644
--- a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderChannel.java
+++ b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/send/SenderChannel.java
@@ -130,8 +130,7 @@ public class SenderChannel {
         client.option(ChannelOption.SO_REUSEADDR, true);
         client.option(ChannelOption.SO_RCVBUF, DEFAULT_RECEIVE_BUFFER_SIZE);
         client.option(ChannelOption.SO_SNDBUF, DEFAULT_SEND_BUFFER_SIZE);
-        SenderHandler senderHandler = new SenderHandler(senderManager);
-        client.handler(new ClientPipelineFactory(senderHandler));
+        client.handler(new ClientPipelineFactory(senderManager));
     }
 
     /**
@@ -144,7 +143,10 @@ public class SenderChannel {
             return true;
         }
         try {
-            init();
+            if (client == null) {
+                init();
+            }
+
             synchronized (client) {
                 ChannelFuture future = client.connect(this.ipPort.addr).sync();
                 this.channel = future.channel();
diff --git a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/util/Config.java b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/util/Config.java
index e4acd2878..a18ba1a86 100644
--- a/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/util/Config.java
+++ b/inlong-audit/audit-sdk/src/main/java/org/apache/inlong/audit/util/Config.java
@@ -33,6 +33,8 @@ public class Config {
     private static final Logger logger = LoggerFactory.getLogger(Config.class);
     private String localIP = "";
     private String dockerId = "";
+    private static final int CGROUP_FILE_LENGTH = 50;
+    private static final int DOCKERID_LENGTH = 10;
 
     public void init() {
         initIP();
@@ -78,15 +80,12 @@ public class Config {
         }
         try (BufferedReader in = new BufferedReader(new FileReader("/proc/self/cgroup"))) {
             String dockerID = in.readLine();
-            if (dockerID != null) {
-                int n = dockerID.indexOf("/");
-                String dockerID2 = dockerID.substring(n + 1, (dockerID.length() - n - 1));
-                n = dockerID2.indexOf("/");
-                if (dockerID2.length() > 12) {
-                    dockerId = dockerID2.substring(n + 1, 12);
-                }
+            if (dockerID == null || dockerID.length() < CGROUP_FILE_LENGTH) {
                 in.close();
+                return;
             }
+            dockerId = dockerID.substring(dockerID.length() - DOCKERID_LENGTH);
+            in.close();
         } catch (Exception ex) {
             logger.error(ex.toString());
         }