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

gosonzhang 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 0a50a95ff0 [INLONG-11788][SDK] Add processing logic when 
DataProxyNodeResponse.nodeList field is null (#11789)
0a50a95ff0 is described below

commit 0a50a95ff04951a6960690f6a01d577ecd2ea33d
Author: Goson Zhang <4675...@qq.com>
AuthorDate: Thu Feb 27 16:35:25 2025 +0800

    [INLONG-11788][SDK] Add processing logic when 
DataProxyNodeResponse.nodeList field is null (#11789)
    
    Co-authored-by: gosonzhang <gosonzh...@tencent.com>
---
 .../org/apache/inlong/sdk/dataproxy/common/ErrorCode.java   | 13 +++++++------
 .../apache/inlong/sdk/dataproxy/common/ProcessResult.java   |  9 +++++----
 .../inlong/sdk/dataproxy/config/ProxyConfigManager.java     | 11 +++++++++++
 3 files changed, 23 insertions(+), 10 deletions(-)

diff --git 
a/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/common/ErrorCode.java
 
b/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/common/ErrorCode.java
index 379d97c4f4..bd22d53ad3 100644
--- 
a/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/common/ErrorCode.java
+++ 
b/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/common/ErrorCode.java
@@ -53,13 +53,14 @@ public enum ErrorCode {
     PARSE_RMT_CONTENT_IS_NULL(46, "Parse manager content is null"),
     RMT_RETURN_ERROR(47, "Manager return error info"),
     META_FIELD_DATA_IS_NULL(48, "Field data is null"),
-    META_NODE_LIST_IS_EMPTY(49, "Field nodeList is empty"),
-    NODE_LIST_RECORD_INVALID(50, "No valid nodeList records"),
+    META_FIELD_NODE_LIST_NULL(49, "Field nodeList is null"),
+    META_NODE_LIST_IS_EMPTY(50, "Field nodeList is empty"),
     //
-    PARSE_PROXY_META_EXCEPTION(51, "No valid nodeList records"),
-    PARSE_ENCRYPT_META_EXCEPTION(52, "Parse encrypt content failure"),
-    META_REQUIRED_FIELD_NOT_EXIST(53, "Required meta field not exist"),
-    META_FIELD_VALUE_ILLEGAL(54, "Meta field value illegal"),
+    NODE_LIST_RECORD_INVALID(51, "No valid nodeList records"),
+    PARSE_PROXY_META_EXCEPTION(52, "No valid nodeList records"),
+    PARSE_ENCRYPT_META_EXCEPTION(53, "Parse encrypt content failure"),
+    META_REQUIRED_FIELD_NOT_EXIST(54, "Required meta field not exist"),
+    META_FIELD_VALUE_ILLEGAL(55, "Meta field value illegal"),
     //
     FETCH_PROXY_META_FAILURE(59, "Fetch dataproxy meta info failure"),
     FETCH_ENCRYPT_META_FAILURE(60, "Fetch encrypt meta info failure"),
diff --git 
a/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/common/ProcessResult.java
 
b/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/common/ProcessResult.java
index c3763e9c08..bdf151101a 100644
--- 
a/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/common/ProcessResult.java
+++ 
b/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/common/ProcessResult.java
@@ -27,7 +27,7 @@ public class ProcessResult {
     // error code
     private int errCode = ErrorCode.UNKNOWN_ERROR.getErrCode();
     // error message
-    private String errMsg = "";
+    private String errMsg = ErrorCode.UNKNOWN_ERROR.getErrMsg();
     // return data if success
     private Object retData = null;
 
@@ -37,6 +37,7 @@ public class ProcessResult {
 
     public ProcessResult(ErrorCode errCode) {
         this.errCode = errCode.getErrCode();
+        this.errMsg = errCode.getErrMsg();
     }
 
     public ProcessResult(ErrorCode errCode, String errMsg) {
@@ -46,14 +47,14 @@ public class ProcessResult {
 
     public boolean setSuccess() {
         this.errCode = ErrorCode.OK.getErrCode();
-        this.errMsg = "";
+        this.errMsg = ErrorCode.OK.getErrMsg();
         this.retData = null;
         return isSuccess();
     }
 
     public boolean setSuccess(Object retData) {
         this.errCode = ErrorCode.OK.getErrCode();
-        this.errMsg = "";
+        this.errMsg = ErrorCode.OK.getErrMsg();
         this.retData = retData;
         return isSuccess();
     }
@@ -67,7 +68,7 @@ public class ProcessResult {
 
     public boolean setFailResult(ErrorCode errCode) {
         this.errCode = errCode.getErrCode();
-        this.errMsg = "";
+        this.errMsg = errCode.getErrMsg();
         this.retData = null;
         return isSuccess();
     }
diff --git 
a/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/config/ProxyConfigManager.java
 
b/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/config/ProxyConfigManager.java
index 805d158849..061e47f2ac 100644
--- 
a/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/config/ProxyConfigManager.java
+++ 
b/inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/config/ProxyConfigManager.java
@@ -92,6 +92,7 @@ public class ProxyConfigManager extends Thread {
     private static final Logger logger = 
LoggerFactory.getLogger(ProxyConfigManager.class);
     private static final LogCounter exptCounter = new LogCounter(10, 100000, 
60 * 1000L);
     private static final LogCounter parseCounter = new LogCounter(10, 100000, 
60 * 1000L);
+    protected static final LogCounter cntCounter = new LogCounter(10, 100000, 
60 * 1000L);
     private static final Map<String, Tuple2<AtomicLong, String>> 
fetchFailProxyMap =
             new ConcurrentHashMap<>();
     private static final Map<String, Tuple2<AtomicLong, String>> 
fetchFailEncryptMap =
@@ -432,6 +433,10 @@ public class ProxyConfigManager extends Thread {
                 rmvManagerQryFailStatus(true);
             } else {
                 bookManagerQryFailStatus(true, procResult.getErrMsg());
+                if (cntCounter.shouldPrint()) {
+                    logger.warn("ConfigManager({}) illegal content, from=({}), 
groupId={}, content={}, result={}",
+                            callerId, proxyConfigVisitUrl, 
mgrConfig.getInlongGroupId(), content, procResult);
+                }
             }
             return procResult.isSuccess();
         } catch (Throwable ex) {
@@ -945,6 +950,9 @@ public class ProxyConfigManager extends Thread {
                 return 
procResult.setFailResult(ErrorCode.META_FIELD_DATA_IS_NULL);
             }
             proxyNodeConfig = clusterConfig.getData();
+            if (proxyNodeConfig.getNodeList() == null) {
+                return 
procResult.setFailResult(ErrorCode.META_FIELD_NODE_LIST_NULL);
+            }
         } else {
             try {
                 proxyNodeConfig = gson.fromJson(strRet, 
DataProxyNodeResponse.class);
@@ -959,6 +967,9 @@ public class ProxyConfigManager extends Thread {
             if (proxyNodeConfig == null) {
                 return 
procResult.setFailResult(ErrorCode.PARSE_FILE_CONTENT_IS_NULL);
             }
+            if (proxyNodeConfig.getNodeList() == null) {
+                return 
procResult.setFailResult(ErrorCode.META_FIELD_NODE_LIST_NULL);
+            }
         }
         // parse nodeList
         List<DataProxyNodeInfo> nodeList = proxyNodeConfig.getNodeList();

Reply via email to