关于ES Request cannot be executed; I/O reactor status: STOPPED 异常原因查找

这篇具有很好参考价值的文章主要介绍了关于ES Request cannot be executed; I/O reactor status: STOPPED 异常原因查找。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目场景:

项目用到ES 存储日志数据,


问题描述

程序使用RestHighLevelClient客户端,经常出现Request cannot be executed; I/O reactor status: STOPPED ,网上查找到原因大多是因为手动调用close()


原因分析:

查询出现异常前后的日志,发现前一天晚上有出现过OOM,第二天应用与查询ES相关的操作全部异常,怀疑因为OOM导致client 关闭,

为了验证猜测,写了个简单的测试用例,程序出现OOM后,休眠15秒,释放内存,继续调用client查询ES,抛出Request cannot be executed; I/O reactor status: STOPPED

​​​​​​​关于ES Request cannot be executed; I/O reactor status: STOPPED 异常原因查找

 

	    List<MyCustomer> list = new ArrayList<>();
		new Thread(new Runnable() {
			
			@Override
			public void run() {

		        while(true){
		            list.add(new MyCustomer());
		        }
				
			}
		}).start();


		esTest.authLogTest();
		
		Thread.sleep(15000);
		list.clear();

解决方案:

优化导致OOM的代码文章来源地址https://www.toymoban.com/news/detail-501921.html

到了这里,关于关于ES Request cannot be executed; I/O reactor status: STOPPED 异常原因查找的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 注册中心报错was unable to refresh its cache! status = Cannot execute request on any known server

    错误日志如下: 2023-02-16 14:37:27.527  WARN 119653 --- [freshExecutor-0] c.n.d.s.t.d.RetryableEurekaHttpClient    : Request execution failed with message: java.net.SocketTimeoutException: Read timed out 2023-02-16 14:37:27.527 ERROR 119653 --- [freshExecutor-0] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_WXSMALLPROGRAM/xxx:443/wxs

    2024年02月11日
    浏览(54)
  • ES报错Native controller process has stopped - no new native processes can be started

    在Linux中启动ES发现如下错误: Native controller process has stopped - no new native processes can be started ,问题如下所示: 问题代码 问题截图 产生这个问题的原因是因为ES的安全机制问题,解决办法如下所示(注意: ES禁止Linux使用root用户启动 ,因此必须使用非root用户启动): 新增内容 然

    2024年02月11日
    浏览(46)
  • 操作Eureka出现Cannot execute request on any known server

    客户端操作Eureka出现Cannot execute request on any known server 这可能是因为你没有在application.yml中配置 spring.application.name 导致注册到eureka上的状态名称不对。通常注册到Eureka默认为 ip:服务名:端口 ,若客户端按照默认这个来操作上下线,需要访问eureka看看这个实例的状态名称是否正

    2024年02月14日
    浏览(46)
  • Java错误:微服务报错Cannot execute request on any known serve

     报Cannot execute request on any known server 这个错: 连接Eureka服务端地址不对。 检查 .yml 文件或者 .properties 文件配置 下划线+下划线后面的小写字母等同于去掉下划线大写下划线后面的字母(驼峰原则)   应该设置为: 查看.yml或者 .properties 链接Eureka的URL地址是否正确 1、default

    2024年03月14日
    浏览(38)
  • ES报错:[parent] Data too large, data for [<http_request>] would be larger than limit of XXXX

    当es这个错误的时候 : [parent] Data too large, data for [http_request] would be larger than limit of [23941899878/22.2gb], with { bytes_wanted=23941987633 bytes_limit=23941899878 } 通常原因是 在于fielddata的内存被占用完了,其他索引无法分配更多的内存。 另外,查询语句写的不好,单个请求聚合查询的数据太

    2024年02月09日
    浏览(46)
  • Docker 删除镜像文件以及解决删除报错image is being used by stopped container 的问题

    1.使用命令查看所有镜像 2.根据ID删除需要删除的镜像 3.如果删除时出现了image is being used by stopped container的错误就先使用一下命令再执行删除指令: 4.再次执行成功

    2024年02月05日
    浏览(47)
  • RuntimeError:cuDNN error:CUDNN_STATUS_EXECUTION_FAILED

    最近在服务器上跑Deeplabv3进行语义分割时,需要使用GPU版的pytorch。 我在Anaconda下配置了适配服务器CUDA的pytorch,但是报错如下,(下图无限接近于我的错误,但是我忘记截图我的报错了,所以用了下面这张网图) 可以看到每次报错都在 conv.py 这个文件,就是在做 CNN 运算时出

    2024年02月03日
    浏览(49)
  • postman : “status“: 400, “error“: “Bad Request“,

    总结:去看数据库的数据类型对不对,长度够不够 我的postman报错了 原本以为是要把所有的都打一边即使是空的,但是把“id”:“”放入postman也是一样的400 后续找到一篇文章说可能是数据类型有问题,去看了一眼数据库,结果phone那列没有长度, “status“: 400, “error“: “

    2024年02月10日
    浏览(51)
  • Error: Request failed with status code 500

    vue axios 出现Error: Request failed with status code 500。 这代表着服务器端无法获取参数。(post接口) 我的问题是,接口要求content-type: multipart/form-data。 但是我写的data:{.....}不符合样式,所以在data前 得加下面得代码然后就成功了

    2024年02月13日
    浏览(53)
  • AxiosError: Request failed with status code 503

    spring.application.name属性指定了应用程序的名称为ssm_serviceA。这个属性用于标识应用程序,可以在日志、监控和其他相关功能中使用。通常情况下,应用程序的名称是用来区分不同的应用程序或服务的。 通过配置spring.application.name,你可以方便地设置应用程序的名称并在不同的

    2024年01月20日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包