You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2023/01/20 01:32:07 UTC
[doris] branch master updated: [fix](multi-catalog)Make ES catalog and resource compatible (#16096)
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 5b2191a496 [fix](multi-catalog)Make ES catalog and resource compatible (#16096)
5b2191a496 is described below
commit 5b2191a4963403bfd190ffa77b5be8e162382169
Author: qiye <ji...@gmail.com>
AuthorDate: Fri Jan 20 09:31:57 2023 +0800
[fix](multi-catalog)Make ES catalog and resource compatible (#16096)
close #16099
1. Make ES resource compatible with `username` property. Keep the same behavior with ES catalog.
2. Change ES catalog `username` to `user` to avoid confusion.
3. Add log in ESRestClient and make debug easier.
---
docs/zh-CN/docs/lakehouse/multi-catalog/es.md | 2 +-
.../main/java/org/apache/doris/catalog/EsResource.java | 15 ++++++++++++---
.../apache/doris/external/elasticsearch/EsRestClient.java | 2 ++
3 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/docs/zh-CN/docs/lakehouse/multi-catalog/es.md b/docs/zh-CN/docs/lakehouse/multi-catalog/es.md
index 5a0bfbbdb7..68fea116ba 100644
--- a/docs/zh-CN/docs/lakehouse/multi-catalog/es.md
+++ b/docs/zh-CN/docs/lakehouse/multi-catalog/es.md
@@ -53,7 +53,7 @@ CREATE CATALOG es PROPERTIES (
参数 | 是否必须 | 默认值 | 说明
--- | --- | --- | ---
`hosts` | 是 | | ES 地址,可以是一个或多个,也可以是 ES 的负载均衡地址 |
-`username` | 否 | 空 | ES 用户名 |
+`user` | 否 | 空 | ES 用户名 |
`password` | 否 | 空 | 对应用户的密码信息 |
`doc_value_scan` | 否 | true | 是否开启通过 ES/Lucene 列式存储获取查询字段的值 |
`keyword_sniff` | 否 | true | 是否对 ES 中字符串分词类型 text.fields 进行探测,通过 keyword 进行查询。设置为 false 会按照分词后的内容匹配 |
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/EsResource.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/EsResource.java
index 131ca70e09..1b9d5863d0 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/EsResource.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/EsResource.java
@@ -85,7 +85,7 @@ public class EsResource extends Resource {
@Override
protected void setProperties(Map<String, String> properties) throws DdlException {
valid(properties, false);
- this.properties = properties;
+ this.properties = processCompatibleProperties(properties);
}
public static void valid(Map<String, String> properties, boolean isAlter) throws DdlException {
@@ -124,15 +124,24 @@ public class EsResource extends Resource {
}
}
+ private Map<String, String> processCompatibleProperties(Map<String, String> props) {
+ // Compatible with ES catalog properties
+ Map<String, String> properties = Maps.newHashMap(props);
+ if (properties.containsKey("username")) {
+ properties.put(EsResource.USER, properties.remove("username"));
+ }
+ return properties;
+ }
+
@Override
public Map<String, String> getCopiedProperties() {
- return Maps.newHashMap(properties);
+ return Maps.newHashMap(processCompatibleProperties(properties));
}
@Override
protected void getProcNodeData(BaseProcResult result) {
String lowerCaseType = type.name().toLowerCase();
- for (Map.Entry<String, String> entry : properties.entrySet()) {
+ for (Map.Entry<String, String> entry : processCompatibleProperties(properties).entrySet()) {
result.addRow(Lists.newArrayList(name, lowerCaseType, entry.getKey(), entry.getValue()));
}
}
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 1627895936..c5618b8732 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
@@ -258,6 +258,8 @@ public class EsRestClient {
try (Response response = executeResponse(httpClient, path)) {
if (response.isSuccessful()) {
return response.body().string();
+ } else {
+ LOG.warn("request response code: {}, body: {}", response.code(), response.body().string());
}
} catch (IOException e) {
LOG.warn("request node [{}] [{}] failures {}, try next nodes", currentNode, path, e);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org