You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2022/03/08 12:30:48 UTC

[servicecomb-pack] 07/10: SCB-2421 Compatible with Elasticsearch 7.X

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

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-pack.git

commit f8635a103feee220138b00112bc423275095ec05
Author: Lei Zhang <zh...@apache.org>
AuthorDate: Tue Mar 8 13:51:56 2022 +0800

    SCB-2421 Compatible with Elasticsearch 7.X
---
 acceptance-tests/acceptance-pack-akka-spring-demo/pom.xml      | 10 +++++-----
 .../elasticsearch/ElasticsearchTransactionRepository.java      |  7 +++----
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/acceptance-tests/acceptance-pack-akka-spring-demo/pom.xml b/acceptance-tests/acceptance-pack-akka-spring-demo/pom.xml
index 5e3f7d5..8faed9a 100644
--- a/acceptance-tests/acceptance-pack-akka-spring-demo/pom.xml
+++ b/acceptance-tests/acceptance-pack-akka-spring-demo/pom.xml
@@ -75,21 +75,21 @@
                   </run>
                 </image>
                 <image>
-                  <name>elasticsearch:6.6.2</name>
+                  <name>elasticsearch:7.17.1</name>
                   <alias>elasticsearch</alias>
                   <run>
                     <env>
                       <discovery.type>single-node</discovery.type>
                     </env>
                     <wait>
-                      <log>started</log>
+                      <log>successfully reloaded</log>
                       <tcp>
                         <ports>
                           <port>9200</port>
                           <port>9300</port>
                         </ports>
                       </tcp>
-                      <time>60000</time>
+                      <time>120000</time>
                     </wait>
                     <ports>
                       <port>elasticsearch.rest.port:9200</port>
@@ -107,8 +107,7 @@
                       </JAVA_OPTS>
                       <alpha.feature.akka.enabled>true</alpha.feature.akka.enabled>
                       <alpha.feature.akka.transaction.repository.type>elasticsearch</alpha.feature.akka.transaction.repository.type>
-                      <spring.data.elasticsearch.cluster-name>docker-cluster</spring.data.elasticsearch.cluster-name>
-                      <spring.data.elasticsearch.cluster-nodes>elasticsearch.servicecomb.io:9300</spring.data.elasticsearch.cluster-nodes>
+                      <spring.elasticsearch.rest.uris>http://elasticsearch.servicecomb.io:9200</spring.elasticsearch.rest.uris>
                     </env>
                     <links>
                       <link>postgres:postgresql.servicecomb.io</link>
@@ -130,6 +129,7 @@
                     </ports>
                     <dependsOn>
                       <container>postgres</container>
+                      <container>elasticsearch</container>
                     </dependsOn>
                   </run>
                 </image>
diff --git a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/repository/elasticsearch/ElasticsearchTransactionRepository.java b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/repository/elasticsearch/ElasticsearchTransactionRepository.java
index 0743f68..9e1f0c7 100644
--- a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/repository/elasticsearch/ElasticsearchTransactionRepository.java
+++ b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/repository/elasticsearch/ElasticsearchTransactionRepository.java
@@ -19,7 +19,6 @@ package org.apache.servicecomb.pack.alpha.fsm.repository.elasticsearch;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import java.io.IOException;
 import java.lang.invoke.MethodHandles;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -35,7 +34,7 @@ import org.elasticsearch.action.search.SearchType;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.search.aggregations.AggregationBuilders;
 import org.elasticsearch.search.aggregations.bucket.MultiBucketsAggregation;
-import org.elasticsearch.search.aggregations.bucket.terms.StringTerms;
+import org.elasticsearch.search.aggregations.bucket.terms.ParsedStringTerms;
 import org.elasticsearch.search.sort.SortBuilders;
 import org.elasticsearch.search.sort.SortOrder;
 import org.slf4j.Logger;
@@ -113,7 +112,7 @@ public class ElasticsearchTransactionRepository implements TransactionRepository
     try{
       if (this.template.indexOps(IndexCoordinates.of(INDEX_NAME)).exists()) {
         NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder();
-        queryBuilder.withSearchType(SearchType.valueOf(INDEX_TYPE));
+        //queryBuilder.withSearchType(SearchType.valueOf(INDEX_TYPE));
         if (state != null && state.trim().length() > 0) {
           queryBuilder.withQuery(QueryBuilders.termQuery("state.keyword", state));
         } else {
@@ -154,7 +153,7 @@ public class ElasticsearchTransactionRepository implements TransactionRepository
         .build();
     SearchHits<Map> result = this.template.search(query,Map.class,IndexCoordinates.of(INDEX_NAME));
     if (result.getTotalHits() > 0) {
-      final StringTerms groupState = result.getAggregations().get("count_group_by_state");
+      final ParsedStringTerms groupState = result.getAggregations().get("count_group_by_state");
       statistics = groupState.getBuckets()
           .stream()
           .collect(Collectors.toMap(MultiBucketsAggregation.Bucket::getKeyAsString,