From 129d2918ac94c3c473e55eaa67ff11c7fed44e2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E5=8B=87=E5=8D=87=20pengys?= Date: Sun, 23 Jun 2019 16:53:45 +0800 Subject: [PATCH] Use ids query method instead of get method for metrics persistence. (#2934) * Use ids query method instead of get method for metrics persistence. #2933 * Query by alias name. --- .../client/elasticsearch/ElasticSearchClient.java | 9 +++++++++ .../storage/plugin/elasticsearch/base/MetricsEsDAO.java | 9 ++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ElasticSearchClient.java b/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ElasticSearchClient.java index 14e71277fe..3e79db3d9d 100644 --- a/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ElasticSearchClient.java +++ b/oap-server/server-library/library-client/src/main/java/org/apache/skywalking/oap/server/library/client/elasticsearch/ElasticSearchClient.java @@ -218,6 +218,15 @@ public class ElasticSearchClient implements Client { return client.get(request); } + public SearchResponse idQuery(String indexName, String id) throws IOException { + indexName = formatIndexName(indexName); + + SearchRequest searchRequest = new SearchRequest(indexName); + searchRequest.types(TYPE); + searchRequest.source().query(QueryBuilders.idsQuery().addIds(id)); + return client.search(searchRequest); + } + public Map> ids(String indexName, String... ids) throws IOException { indexName = formatIndexName(indexName); diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/MetricsEsDAO.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/MetricsEsDAO.java index 82bed926d3..e313c6012a 100644 --- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/MetricsEsDAO.java +++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/MetricsEsDAO.java @@ -23,8 +23,8 @@ import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics; import org.apache.skywalking.oap.server.core.storage.*; import org.apache.skywalking.oap.server.core.storage.model.Model; import org.apache.skywalking.oap.server.library.client.elasticsearch.ElasticSearchClient; -import org.elasticsearch.action.get.GetResponse; import org.elasticsearch.action.index.IndexRequest; +import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.update.UpdateRequest; import org.elasticsearch.common.xcontent.XContentBuilder; @@ -41,10 +41,9 @@ public class MetricsEsDAO extends EsDAO implements IMetricsDAO 0) { + return storageBuilder.map2Data(response.getHits().getAt(0).getSourceAsMap()); } else { return null; } -- GitLab