ES+springboot项目启动时卡住,没有日志和报错
原因
磁盘空间小于5%,ES启动时强制设为只读模式,导致项目启动时部分ES交互代码卡死
解决方式
删东西,多删点,少了还不行,至少给ES数据所在磁盘留10%的空间
重新启动ES,再启动项目就行了
bug发现过程
首先是突然就启动不了项目了,网上看了很多方法都不适用(磁盘红了,其实中间我还担心过虚拟内存问题删了几个G的文件,也没用,很奇怪)
- IDEA中,用debug方式启动项目,点击左下角有个“照相机”图标,查看线程运行情况
- 发现是与ES交互的代码(esRepository.save(…))导致线程红了,一直死等
- 再查看ES的启动日志,发现最后警告了,磁盘空间不足,read-only方式启动