线上es报错异常分析

起因:订单日志没有保存到es

解决流程:

查看book3-message的报错日志

发现如下两种异常

第一种异常:


线程池的问题,EsThreadPoolExecutor[bulk, queue capacity = 50, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@5e6ba269[Running, pool size = 16, active threads = 16, queued tasks = 56, completed tasks = 41706906]]];];req:org.elasticsearch.action.bulk.BulkRequestBuilder@27779be

修改了es的线程池配置,线程池的最大数要小于等于es所在服务器的cpu数量;

参考文档:https://www.cnblogs.com/kangoroo/p/7615833.html

第二种异常:


数据更新时版本不一致导致;解决方式:将更新es数据的方式从UpdateRequestBuilder改成UpdateByQueryRequestBuilder这种方式,主要是设置abortOnVersionConflict(false)这个参数;

参考文档:

https://blog.csdn.net/zhou_shaowei/article/details/80079162为了防止版本冲突导致updateByQuery中止,设置终止冲突(false)

https://blog.csdn.net/qq_37502106/article/details/80604538


你可能感兴趣的:(线上es报错异常分析)