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 <43397300+dole...@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 <dole...@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()); }