This is an automated email from the ASF dual-hosted git repository.
yiguolei 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 c1006a04252 [fix](ES catalog) throw exception when ES meta track
failed (#30409)
c1006a04252 is described below
commit c1006a04252c35ef49f5b8be43311c5c46461622
Author: qiye <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]