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 <zhang...@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,