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

morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new a549f8c7411 [improvement](jdbc catalog) Print more errors when Jdbc 
Catalog fails to obtain a connection on FE (#41735)
a549f8c7411 is described below

commit a549f8c741124fe96163b53dfa319ae6e6663a3f
Author: zy-kkk <zhongy...@gmail.com>
AuthorDate: Sat Oct 12 21:24:10 2024 +0800

    [improvement](jdbc catalog) Print more errors when Jdbc Catalog fails to 
obtain a connection on FE (#41735)
    
    We need to print more detailed error information when Jdbc Catalog
    obtains a connection to facilitate troubleshooting
---
 .../apache/doris/datasource/jdbc/client/JdbcClient.java   |  5 +++--
 .../doris/datasource/jdbc/client/JdbcClientException.java | 15 +++++++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClient.java
 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClient.java
index 0832aa68f00..8c4ada01774 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClient.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClient.java
@@ -178,8 +178,9 @@ public abstract class JdbcClient {
             Thread.currentThread().setContextClassLoader(this.classLoader);
             conn = dataSource.getConnection();
         } catch (Exception e) {
-            String errorMessage = String.format("Can not connect to jdbc due 
to error: %s, Catalog name: %s",
-                    e.getMessage(), this.getCatalogName());
+            String errorMessage = String.format(
+                    "Catalog `%s` can not connect to jdbc due to error: %s",
+                    this.getCatalogName(), 
JdbcClientException.getAllExceptionMessages(e));
             throw new JdbcClientException(errorMessage, e);
         } finally {
             Thread.currentThread().setContextClassLoader(oldClassLoader);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClientException.java
 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClientException.java
index 7fcea7aa61a..b07662459da 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClientException.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcClientException.java
@@ -48,4 +48,19 @@ public class JdbcClientException extends RuntimeException {
         }
         return escapedArgs;
     }
+
+    public static String getAllExceptionMessages(Throwable throwable) {
+        StringBuilder sb = new StringBuilder();
+        while (throwable != null) {
+            String message = throwable.getMessage();
+            if (message != null && !message.isEmpty()) {
+                if (sb.length() > 0) {
+                    sb.append(" | Caused by: ");
+                }
+                sb.append(message);
+            }
+            throwable = throwable.getCause();
+        }
+        return sb.toString();
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to