This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 5d2b011a8df213b98dda7a900555369902f88155 Author: qiye <jianliang5...@gmail.com> AuthorDate: Fri Jan 26 21:11:16 2024 +0800 [fix](ES catalog) throw exception when ES meta track failed (#30409) --- .../src/main/java/org/apache/doris/catalog/EsTable.java | 7 ++++--- .../doris/external/elasticsearch/EsMetaStateTracker.java | 12 +++++++++++- .../src/main/java/org/apache/doris/planner/EsScanNode.java | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java index a06da2af053..a29c547fa97 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java @@ -18,6 +18,7 @@ package org.apache.doris.catalog; import org.apache.doris.common.DdlException; +import org.apache.doris.common.UserException; import org.apache.doris.common.io.Text; import org.apache.doris.external.elasticsearch.EsMetaStateTracker; import org.apache.doris.external.elasticsearch.EsRestClient; @@ -140,15 +141,15 @@ public class EsTable extends Table { super(id, name, tableType, schema); } - public Map<String, String> fieldsContext() { + public Map<String, String> fieldsContext() throws UserException { return esMetaStateTracker.searchContext().fetchFieldsContext(); } - public Map<String, String> docValueContext() { + public Map<String, String> docValueContext() throws UserException { return esMetaStateTracker.searchContext().docValueFieldsContext(); } - public List<String> needCompatDateFields() { + public List<String> needCompatDateFields() throws UserException { return esMetaStateTracker.searchContext().needCompatDateFields(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsMetaStateTracker.java b/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsMetaStateTracker.java index 0b556e46c62..d3b1539df6f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsMetaStateTracker.java +++ b/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/EsMetaStateTracker.java @@ -18,6 +18,10 @@ package org.apache.doris.external.elasticsearch; import org.apache.doris.catalog.EsTable; +import org.apache.doris.common.UserException; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.util.LinkedList; import java.util.List; @@ -32,6 +36,8 @@ import java.util.List; */ public class EsMetaStateTracker { + private static final Logger LOG = LogManager.getLogger(EsMetaStateTracker.class); + private List<SearchPhase> builtinSearchPhase = new LinkedList<>(); private SearchContext searchContext; @@ -41,7 +47,11 @@ public class EsMetaStateTracker { searchContext = new SearchContext(esTable); } - public SearchContext searchContext() { + public SearchContext searchContext() throws UserException { + if (searchContext == null) { + LOG.warn("ES meta state track failed, please check ES health status."); + throw new UserException("ES meta state track failed, please check ES health status."); + } return searchContext; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/EsScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/EsScanNode.java index 5da04b1f813..16e6ed040b4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/EsScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/EsScanNode.java @@ -314,7 +314,7 @@ public class EsScanNode extends ExternalScanNode { return output.toString(); } - private void buildQuery() { + private void buildQuery() throws UserException { if (conjuncts.isEmpty()) { queryBuilder = QueryBuilders.matchAllQuery(); } else { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org