You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2020/07/08 16:01:43 UTC
[skywalking] branch master updated: Fix searchService bug in ES
implementation . (#5059)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new e8f7ae0 Fix searchService bug in ES implementation . (#5059)
e8f7ae0 is described below
commit e8f7ae055c7a03014452fc2db333438c6e349f2a
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Thu Jul 9 00:01:30 2020 +0800
Fix searchService bug in ES implementation . (#5059)
---
.../elasticsearch/query/MetadataQueryEsDAO.java | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java
index eafece2..75894f0 100644
--- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java
+++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/query/MetadataQueryEsDAO.java
@@ -25,7 +25,6 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import org.apache.skywalking.oap.server.core.analysis.IDManager;
import org.apache.skywalking.oap.server.core.analysis.NodeType;
import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
import org.apache.skywalking.oap.server.core.analysis.manual.endpoint.EndpointTraffic;
@@ -41,7 +40,6 @@ import org.apache.skywalking.oap.server.core.storage.query.IMetadataQueryDAO;
import org.apache.skywalking.oap.server.library.client.elasticsearch.ElasticSearchClient;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base.EsDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base.MatchCNameBuilder;
-import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
@@ -132,16 +130,15 @@ public class MetadataQueryEsDAO extends EsDAO implements IMetadataQueryDAO {
@Override
public Service searchService(String serviceCode) throws IOException {
- GetResponse response = getClient().get(
- ServiceTraffic.INDEX_NAME, IDManager.ServiceID.buildId(serviceCode, NodeType.Normal));
- if (response.isExists()) {
- Service service = new Service();
- service.setId((String) response.getSource().get(ServiceTraffic.ENTITY_ID));
- service.setName((String) response.getSource().get(ServiceTraffic.NAME));
- return service;
- } else {
- return null;
- }
+ SearchSourceBuilder sourceBuilder = SearchSourceBuilder.searchSource();
+ BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
+ boolQueryBuilder.must().add(QueryBuilders.termQuery(ServiceTraffic.NODE_TYPE, NodeType.Normal.value()));
+ boolQueryBuilder.must().add(QueryBuilders.termQuery(ServiceTraffic.NAME, serviceCode));
+ sourceBuilder.query(boolQueryBuilder);
+ sourceBuilder.size(1);
+ SearchResponse response = getClient().search(ServiceTraffic.INDEX_NAME, sourceBuilder);
+ final List<Service> services = buildServices(response);
+ return services.size() > 0 ? services.get(0) : null;
}
@Override