From 557366a3ec40402fb3dea1302ab5a90cbb4f1adc Mon Sep 17 00:00:00 2001 From: misworga831 Date: Thu, 3 Aug 2023 15:57:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96elasticsearch=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=EF=BC=8C=E8=A7=A3=E5=86=B3I/O=20reactor?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/lili/elasticsearch/config/ElasticsearchConfig.java | 8 +++++++- .../search/serviceimpl/EsGoodsIndexServiceImpl.java | 5 +++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/framework/src/main/java/cn/lili/elasticsearch/config/ElasticsearchConfig.java b/framework/src/main/java/cn/lili/elasticsearch/config/ElasticsearchConfig.java index 6010a2a4..6f384fd9 100644 --- a/framework/src/main/java/cn/lili/elasticsearch/config/ElasticsearchConfig.java +++ b/framework/src/main/java/cn/lili/elasticsearch/config/ElasticsearchConfig.java @@ -9,6 +9,7 @@ import org.apache.http.client.CredentialsProvider; import org.apache.http.conn.ConnectionKeepAliveStrategy; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; +import org.apache.http.impl.nio.reactor.IOReactorConfig; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestClientBuilder; import org.elasticsearch.client.RestHighLevelClient; @@ -72,7 +73,12 @@ public class ElasticsearchConfig extends AbstractElasticsearchConfiguration { CredentialsProvider credentialsProvider) { httpClientBuilder .setKeepAliveStrategy(getConnectionKeepAliveStrategy()) - .setMaxConnPerRoute(10); + .setMaxConnPerRoute(10) + .setDefaultIOReactorConfig( + IOReactorConfig + .custom() + .setIoThreadCount(Runtime.getRuntime().availableProcessors()) + .build()); if (credentialsProvider != null) { httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); } diff --git a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java index 312f9441..a6af95c8 100644 --- a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsIndexServiceImpl.java @@ -455,8 +455,9 @@ public class EsGoodsIndexServiceImpl extends BaseElasticsearchService implements this.client.bulkAsync(request, RequestOptions.DEFAULT, new ActionListener() { @Override public void onResponse(BulkResponse bulkItemResponses) { - if (bulkItemResponses.hasFailures()) { - throw new RetryException("批量更新商品索引失败,es内容版本冲突"); + log.info("批量更新商品索引结果:{}", bulkItemResponses.buildFailureMessage()); + if (bulkItemResponses.hasFailures() && bulkItemResponses.getItems().length > 0) { + throw new RetryException("批量更新商品索引失败," + bulkItemResponses.buildFailureMessage()); } }