This is an automated email from the ASF dual-hosted git repository.
rong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new b60005e470e Pipe: improve exception messages for sink connection
establishment and node urls validation (#11826)
b60005e470e is described below
commit b60005e470e70273ef61aaa54bda3cfd977779ff
Author: V_Galaxy <[email protected]>
AuthorDate: Wed Jan 3 11:53:06 2024 +0800
Pipe: improve exception messages for sink connection establishment and node
urls validation (#11826)
Co-authored-by: Steve Yurong Su <[email protected]>
---
.../api/exception/PipeConnectionException.java | 3 ++-
.../exception/PipeParameterNotValidException.java | 3 ---
.../protocol/legacy/IoTDBLegacyPipeConnector.java | 4 +---
.../thrift/sync/IoTDBThriftSyncClientManager.java | 3 +--
.../builtin/connector/iotdb/IoTDBConnector.java | 25 +++++++++++-----------
.../connector/iotdb/thrift/IoTDBMetaConnector.java | 4 +---
6 files changed, 17 insertions(+), 25 deletions(-)
diff --git
a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeConnectionException.java
b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeConnectionException.java
index 7ad133a7190..dc9d5e32968 100644
---
a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeConnectionException.java
+++
b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeConnectionException.java
@@ -21,7 +21,8 @@ package org.apache.iotdb.pipe.api.exception;
public class PipeConnectionException extends PipeException {
- public static String CONNECTION_ERROR_FORMATTER = "Connect to receiver %s:%s
error, because: %s";
+ public static final String CONNECTION_ERROR_FORMATTER =
+ "Error occurred while connecting to receiver %s:%s, please check network
connectivity or SSL configurations when enable SSL transmission";
public PipeConnectionException(String message) {
super(message);
diff --git
a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeParameterNotValidException.java
b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeParameterNotValidException.java
index c11513b007f..9788bb3f4a3 100644
---
a/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeParameterNotValidException.java
+++
b/iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeParameterNotValidException.java
@@ -21,9 +21,6 @@ package org.apache.iotdb.pipe.api.exception;
public class PipeParameterNotValidException extends PipeException {
- public static String PARSE_URL_ERROR_FORMATTER =
- "Error parsing node urls from target servers %s, because %s";
-
public PipeParameterNotValidException(String message) {
super(message);
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/legacy/IoTDBLegacyPipeConnector.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/legacy/IoTDBLegacyPipeConnector.java
index d946aa28bfe..3b9d53a3bea 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/legacy/IoTDBLegacyPipeConnector.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/legacy/IoTDBLegacyPipeConnector.java
@@ -242,9 +242,7 @@ public class IoTDBLegacyPipeConnector implements
PipeConnector {
}
} catch (TException e) {
throw new PipeConnectionException(
- String.format(
- PipeConnectionException.CONNECTION_ERROR_FORMATTER, ipAddress,
port, e.getMessage()),
- e);
+ String.format(PipeConnectionException.CONNECTION_ERROR_FORMATTER,
ipAddress, port), e);
}
sessionPool =
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/sync/IoTDBThriftSyncClientManager.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/sync/IoTDBThriftSyncClientManager.java
index c2873838e4a..f3f83237768 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/sync/IoTDBThriftSyncClientManager.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/sync/IoTDBThriftSyncClientManager.java
@@ -129,8 +129,7 @@ public class IoTDBThriftSyncClientManager extends
IoTDBThriftClientManager imple
String.format(
PipeConnectionException.CONNECTION_ERROR_FORMATTER,
endPoint.getIp(),
- endPoint.getPort(),
- e.getMessage()),
+ endPoint.getPort()),
e);
}
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/connector/iotdb/IoTDBConnector.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/connector/iotdb/IoTDBConnector.java
index b88d420c5e2..c183339b3be 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/connector/iotdb/IoTDBConnector.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/connector/iotdb/IoTDBConnector.java
@@ -55,6 +55,12 @@ public abstract class IoTDBConnector implements
PipeConnector {
protected boolean isTabletBatchModeEnabled = true;
+ private static final String PARSE_URL_ERROR_FORMATTER =
+ "Exception occurred while parsing node urls from target servers: {}";
+
+ private static final String PARSE_URL_ERROR_MESSAGE =
+ "Error occurred while parsing node urls from target servers, please
check the specified 'ip':'port' or 'node-urls'";
+
@Override
public void validate(PipeParameterValidator validator) throws Exception {
final PipeParameters parameters = validator.getParameters();
@@ -128,9 +134,8 @@ public abstract class IoTDBConnector implements
PipeConnector {
Arrays.asList(parameters.getStringByKeys(SINK_IOTDB_NODE_URLS_KEY).split(","))));
}
} catch (Exception e) {
- throw new PipeParameterNotValidException(
- String.format(
- PipeParameterNotValidException.PARSE_URL_ERROR_FORMATTER,
givenNodeUrls, e));
+ LOGGER.warn(PARSE_URL_ERROR_FORMATTER, e.toString());
+ throw new PipeParameterNotValidException(PARSE_URL_ERROR_MESSAGE);
}
checkNodeUrls(givenNodeUrls);
@@ -140,18 +145,12 @@ public abstract class IoTDBConnector implements
PipeConnector {
private void checkNodeUrls(Set<TEndPoint> nodeUrls) throws
PipeParameterNotValidException {
for (TEndPoint nodeUrl : nodeUrls) {
if (Objects.isNull(nodeUrl.ip) || nodeUrl.ip.isEmpty()) {
- throw new PipeParameterNotValidException(
- String.format(
- PipeParameterNotValidException.PARSE_URL_ERROR_FORMATTER,
- nodeUrls,
- "ip cannot be empty"));
+ LOGGER.warn(PARSE_URL_ERROR_FORMATTER, "ip cannot be empty");
+ throw new PipeParameterNotValidException(PARSE_URL_ERROR_MESSAGE);
}
if (nodeUrl.port == 0) {
- throw new PipeParameterNotValidException(
- String.format(
- PipeParameterNotValidException.PARSE_URL_ERROR_FORMATTER,
- nodeUrls,
- "port cannot be empty"));
+ LOGGER.warn(PARSE_URL_ERROR_FORMATTER, "port cannot be empty");
+ throw new PipeParameterNotValidException(PARSE_URL_ERROR_MESSAGE);
}
}
}
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/connector/iotdb/thrift/IoTDBMetaConnector.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/connector/iotdb/thrift/IoTDBMetaConnector.java
index 7563fb19f68..1d5bde19fe6 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/connector/iotdb/thrift/IoTDBMetaConnector.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/connector/iotdb/thrift/IoTDBMetaConnector.java
@@ -185,9 +185,7 @@ public abstract class IoTDBMetaConnector extends
IoTDBConnector {
null));
} catch (TTransportException e) {
throw new PipeConnectionException(
- String.format(
- PipeConnectionException.CONNECTION_ERROR_FORMATTER, ip, port,
e.getMessage()),
- e);
+ String.format(PipeConnectionException.CONNECTION_ERROR_FORMATTER,
ip, port), e);
}
// TODO: validate client connectivity here, just like in ThriftSync.