This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 3bd9af74e99 [log](s3) print detailed error message when failed to
access object storage (#38585)
3bd9af74e99 is described below
commit 3bd9af74e996fd59b83e6089d8efa9e7f58437e9
Author: Kaijie Chen <[email protected]>
AuthorDate: Sun Aug 4 10:21:50 2024 +0800
[log](s3) print detailed error message when failed to access object storage
(#38585)
## Proposed changes
Print detailed error message when failed to access object storage.
---
.../java/org/apache/doris/analysis/CreateStageStmt.java | 12 +++---------
.../main/java/org/apache/doris/analysis/LoadStmt.java | 17 +++++------------
.../java/org/apache/doris/common/UserException.java | 5 +++++
.../test_domain_connection_and_ak_sk_correction.groovy | 8 ++++----
4 files changed, 17 insertions(+), 25 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateStageStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateStageStmt.java
index f777dd995f6..4054584805a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateStageStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateStageStmt.java
@@ -112,16 +112,10 @@ public class CreateStageStmt extends DdlStmt {
remote.headObject("1");
remote.listObjects(null);
} catch (Exception e) {
- LOG.warn("Failed check object storage info={}",
stageProperties.getObjectStoreInfoPB(), e);
- String message = e.getMessage();
- if (message != null) {
- int index = message.indexOf("Error message=");
- if (index != -1) {
- message = message.substring(index);
- }
- }
+ LOG.warn("Failed to access object storage, proto={}, err={}",
+ stageProperties.getObjectStoreInfoPB(), e.toString());
throw new UserException(InternalErrorCode.GET_REMOTE_DATA_ERROR,
- "Incorrect object storage info, " + message);
+ "Failed to access object storage", e);
} finally {
if (remote != null) {
remote.close();
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java
index a24d1ae72fe..b879bcc7c9a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java
@@ -607,14 +607,14 @@ public class LoadStmt extends DdlStmt {
connection.setConnectTimeout(10000);
connection.connect();
} catch (Exception e) {
- LOG.warn("Failed to connect endpoint={}", endpoint, e);
- throw new UserException("Incorrect object storage info: " +
e.getMessage());
+ LOG.warn("Failed to connect endpoint={}, err={}", endpoint, e);
+ throw new UserException("Failed to access object storage", e);
} finally {
if (connection != null) {
try {
connection.disconnect();
} catch (Exception e) {
- LOG.warn("Failed to disconnect connection, endpoint={}",
endpoint, e);
+ LOG.warn("Failed to disconnect connection, endpoint={},
err={}", endpoint, e);
}
}
SecurityChecker.getInstance().stopSSRFChecking();
@@ -671,16 +671,9 @@ public class LoadStmt extends DdlStmt {
}
}
} catch (Exception e) {
- LOG.warn("Failed check object info={}", objectInfo, e);
- String message = e.getMessage();
- if (message != null) {
- int index = message.indexOf("Error message=");
- if (index != -1) {
- message = message.substring(index);
- }
- }
+ LOG.warn("Failed to access object storage, proto={}, err={}",
objectInfo, e.toString());
throw new UserException(InternalErrorCode.GET_REMOTE_DATA_ERROR,
- "Incorrect object storage info, " + message);
+ "Failed to access object storage", e);
} finally {
if (remote != null) {
remote.close();
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/common/UserException.java
b/fe/fe-core/src/main/java/org/apache/doris/common/UserException.java
index 09421e10853..5a2dfb82576 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/common/UserException.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/common/UserException.java
@@ -54,7 +54,12 @@ public class UserException extends Exception {
super(Strings.nullToEmpty(msg));
this.errorCode = errCode;
mysqlErrorCode = ErrorCode.ERR_UNKNOWN_ERROR;
+ }
+ public UserException(InternalErrorCode errCode, String msg, Throwable
cause) {
+ super(Strings.nullToEmpty(msg), cause);
+ this.errorCode = errCode;
+ mysqlErrorCode = ErrorCode.ERR_UNKNOWN_ERROR;
}
public InternalErrorCode getErrorCode() {
diff --git
a/regression-test/suites/load_p0/broker_load/test_domain_connection_and_ak_sk_correction.groovy
b/regression-test/suites/load_p0/broker_load/test_domain_connection_and_ak_sk_correction.groovy
index 889da246d3b..50f51086db1 100644
---
a/regression-test/suites/load_p0/broker_load/test_domain_connection_and_ak_sk_correction.groovy
+++
b/regression-test/suites/load_p0/broker_load/test_domain_connection_and_ak_sk_correction.groovy
@@ -100,7 +100,7 @@ suite("test_domain_connection_and_ak_sk_correction",
"load_p0") {
assertTrue(false. "The endpoint is wrong, so the connection test
should fale")
} catch (Exception e) {
logger.info("the second sql exception result is {}", e.getMessage())
- assertTrue(e.getMessage().contains("Incorrect object storage info"),
e.getMessage())
+ assertTrue(e.getMessage().contains("Failed to access object storage"),
e.getMessage())
}
label = UUID.randomUUID().toString().replace("-", "")
@@ -125,7 +125,7 @@ suite("test_domain_connection_and_ak_sk_correction",
"load_p0") {
assertTrue(false. "AK is wrong, so the correction of AKSK test should
fale")
} catch (Exception e) {
logger.info("the third sql exception result is {}", e.getMessage())
- assertTrue(e.getMessage().contains("Incorrect object storage info"),
e.getMessage())
+ assertTrue(e.getMessage().contains("Failed to access object storage"),
e.getMessage())
}
label = UUID.randomUUID().toString().replace("-", "")
@@ -154,8 +154,8 @@ suite("test_domain_connection_and_ak_sk_correction",
"load_p0") {
assertTrue(false. "in the second DATA INFILE, the first bucket is
wrong, so the sql should fail")
} catch (Exception e) {
logger.info("the fourth sql exception result is {}", e.getMessage())
- assertTrue(e.getMessage().contains("Incorrect object storage info"),
e.getMessage())
+ assertTrue(e.getMessage().contains("Failed to access object storage"),
e.getMessage())
}
sql """ DROP TABLE IF EXISTS ${tableName} FORCE"""
sql """ DROP TABLE IF EXISTS ${tableNameOrders} FORCE"""
-}
\ No newline at end of file
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]