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]
