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 14:48:50 UTC

[skywalking] branch search-service-bug created (now e7deb18)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a change to branch search-service-bug
in repository https://gitbox.apache.org/repos/asf/skywalking.git.


      at e7deb18  Fix searchService bug in ES implementation .

This branch includes the following new commits:

     new e7deb18  Fix searchService bug in ES implementation .

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[skywalking] 01/01: Fix searchService bug in ES implementation .

Posted by wu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch search-service-bug
in repository https://gitbox.apache.org/repos/asf/skywalking.git

commit e7deb184162aa9a5c89efb620d5e1ebeff379786
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Wed Jul 8 22:48:24 2020 +0800

    Fix searchService bug in ES implementation .
---
 .../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