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 <[email protected]>
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 <[email protected]>
---
.../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();