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 2022/03/23 11:36:44 UTC

[incubator-inlong] branch master updated: [INLONG-3332][Sort-Standalone] Fix NP and data race in ClsSink (#3333)

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/incubator-inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 244d105  [INLONG-3332][Sort-Standalone] Fix NP and data race in ClsSink (#3333)
244d105 is described below

commit 244d1052438189151c44de2ffa51dd90ff29dbb5
Author: vernedeng <de...@pku.edu.cn>
AuthorDate: Wed Mar 23 19:36:40 2022 +0800

    [INLONG-3332][Sort-Standalone] Fix NP and data race in ClsSink (#3333)
---
 .../main/java/org/apache/inlong/sort/standalone/sink/cls/ClsSink.java | 3 ++-
 .../org/apache/inlong/sort/standalone/sink/cls/ClsSinkContext.java    | 4 +++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/inlong-sort-standalone/sort-standalone-source/src/main/java/org/apache/inlong/sort/standalone/sink/cls/ClsSink.java b/inlong-sort-standalone/sort-standalone-source/src/main/java/org/apache/inlong/sort/standalone/sink/cls/ClsSink.java
index cc1e976..4f443ed 100644
--- a/inlong-sort-standalone/sort-standalone-source/src/main/java/org/apache/inlong/sort/standalone/sink/cls/ClsSink.java
+++ b/inlong-sort-standalone/sort-standalone-source/src/main/java/org/apache/inlong/sort/standalone/sink/cls/ClsSink.java
@@ -24,6 +24,7 @@ import org.apache.flume.sink.AbstractSink;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -38,7 +39,7 @@ public class ClsSink extends AbstractSink implements Configurable {
 
     private Context parentContext;
     private ClsSinkContext context;
-    private List<ClsChannelWorker> workers;
+    private List<ClsChannelWorker> workers = new ArrayList<>();
 
     /**
      * Start {@link ClsChannelWorker}.
diff --git a/inlong-sort-standalone/sort-standalone-source/src/main/java/org/apache/inlong/sort/standalone/sink/cls/ClsSinkContext.java b/inlong-sort-standalone/sort-standalone-source/src/main/java/org/apache/inlong/sort/standalone/sink/cls/ClsSinkContext.java
index aa05fba..e23f3e3 100644
--- a/inlong-sort-standalone/sort-standalone-source/src/main/java/org/apache/inlong/sort/standalone/sink/cls/ClsSinkContext.java
+++ b/inlong-sort-standalone/sort-standalone-source/src/main/java/org/apache/inlong/sort/standalone/sink/cls/ClsSinkContext.java
@@ -38,6 +38,7 @@ import org.apache.inlong.sort.standalone.utils.Constants;
 import org.apache.inlong.sort.standalone.utils.InlongLoggerFactory;
 import org.slf4j.Logger;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -71,7 +72,7 @@ public class ClsSinkContext extends SinkContext {
     private int keywordMaxLength = DEFAULT_KEYWORD_MAX_LENGTH;
 
     private final Map<String, AsyncProducerClient> clientMap;
-    private List<AsyncProducerClient> deletingClients;
+    private List<AsyncProducerClient> deletingClients = new ArrayList<>();
     private Context sinkContext;
     private Map<String, ClsIdConfig> idConfigMap = new ConcurrentHashMap<>();
     private IEvent2LogItemHandler event2LogItemHandler;
@@ -147,6 +148,7 @@ public class ClsSinkContext extends SinkContext {
             String uid = InlongId.generateUid(inlongGroupId, inlongStreamId);
             String jsonIdConfig = JSON.toJSONString(idParam);
             ClsIdConfig idConfig = JSON.parseObject(jsonIdConfig, ClsIdConfig.class);
+            idConfig.getFieldList();
             newIdConfigMap.put(uid, idConfig);
         }
         this.idConfigMap = newIdConfigMap;