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

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git

commit dbd85106b72f815e54d5235559bcf6cc754592f4
Author: Guangdong Liu <[email protected]>
AuthorDate: Wed Sep 20 14:20:57 2023 +0800

    [fix](multi-catalog)Es catalog needs to verify whether it is a valid 
configuration. (#24309)
---
 .../src/main/java/org/apache/doris/datasource/EsExternalCatalog.java | 5 +++++
 .../java/org/apache/doris/external/elasticsearch/EsRestClient.java   | 5 +++++
 2 files changed, 10 insertions(+)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/EsExternalCatalog.java 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/EsExternalCatalog.java
index 323a31feb7..6f054b7946 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/EsExternalCatalog.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/EsExternalCatalog.java
@@ -22,6 +22,7 @@ import org.apache.doris.catalog.EsResource;
 import org.apache.doris.catalog.external.EsExternalDatabase;
 import org.apache.doris.catalog.external.ExternalDatabase;
 import org.apache.doris.catalog.external.ExternalTable;
+import org.apache.doris.external.elasticsearch.DorisEsException;
 import org.apache.doris.external.elasticsearch.EsRestClient;
 
 import com.google.common.collect.Lists;
@@ -118,6 +119,10 @@ public class EsExternalCatalog extends ExternalCatalog {
     @Override
     protected void initLocalObjectsImpl() {
         esRestClient = new EsRestClient(getNodes(), getUsername(), 
getPassword(), enableSsl());
+        if (!esRestClient.health()) {
+            throw new DorisEsException("Failed to connect to ES cluster,"
+                    + " please check your ES cluster or your ES catalog 
configuration.");
+        }
     }
 
     @Override
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsRestClient.java
 
b/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsRestClient.java
index c5618b8732..91d3fe8954 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsRestClient.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsRestClient.java
@@ -206,6 +206,11 @@ public class EsRestClient {
         return EsShardPartitions.findShardPartitions(indexName, searchShards);
     }
 
+    public boolean health() {
+        String res = execute("");
+        return res != null;
+    }
+
     /**
      * init ssl networkClient use lazy way
      **/


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to