fix: 优化积分商品,移除异步删除索引 (pg)

- 重构deleteByQuery方法,移除异步调用,改为同步处理。
添加了异常处理以记录删除索引时的错误日志。
This commit is contained in:
misworga831 2024-12-11 16:18:37 +08:00
parent 82f3223a03
commit 2f180a73ed

View File

@ -72,6 +72,7 @@ import org.springframework.data.elasticsearch.core.SearchPage;
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.*;
import java.util.concurrent.TimeUnit;
@ -484,20 +485,12 @@ public class EsGoodsIndexServiceImpl extends BaseElasticsearchService implements
deleteByQueryRequest.setQuery(boolQueryBuilder);
deleteByQueryRequest.indices(getIndexName());
deleteByQueryRequest.setConflicts("proceed");
this.client.deleteByQueryAsync(deleteByQueryRequest, RequestOptions.DEFAULT, new ActionListener<BulkByScrollResponse>() {
@Override
public void onResponse(BulkByScrollResponse bulkByScrollResponse) {
if (bulkByScrollResponse.getVersionConflicts() > 0) {
throw new RetryException("删除索引失败es内容版本冲突");
try {
this.client.deleteByQuery(deleteByQueryRequest, RequestOptions.DEFAULT);
} catch (IOException e) {
log.error("删除索引出现异常", e);
}
}
@Override
public void onFailure(Exception e) {
throw new RetryException("删除索引失败," + e.getMessage());
}
});
}