今天遇到一个问题排查了很久,记录一下。
问题原因,日常环境的某个topology一直无法正常运行,查看日志又没有异常日志打印。现在是一段code:
logger.info("===========supplier.update!============== feedsCount=" + feedsCount); try { supplier.update(configs); logger.info("successfully update, totally {} feeds from {} supplier configs, path={}", feedsCount, configs.size(), subscribePath); } catch (Exception e) { logger.info("fail to update " + e.getMessage()); logger.error("fail to update, totally " + feedsCount + " feeds from " + configs.size() + " supplier configs, path=" + subscribePath + "", e); }
比较诡异的是successfully和fail to update都没有被执行。
后来通过远程debug才发现supplier.update内部有一个类冲突抛出NoClassDefFoundError
网上找到一片关于这个错误的说明:http://my.oschina.net/jasonultimate/blog/166932
为什么日志中没有异常信息,因为这个代码是通过ThreadPoolExecutor执行的:
private void runTask(Runnable task) { try { try { task.run(); } catch (RuntimeException ex) { throw ex; } } finally { runLock.unlock(); } }
可以看到他是不会抓到Error的。
相关推荐
XX小学管制刀具班级排查记录表.pdf
生产现场类隐患排查记录 排查类型 排查时间 排查人员 风险点 排查内容与排查标准 排查记录 排查结果 隐患等级 类型 名称 风险点等级 责任单位 作业步骤(检查项目) 危险源或潜在事件/标准 管控措施 ...
自然灾害隐患点排查记录表.pdf
太阳花幼儿园维稳排查记录表整理.pdf
安保安全隐患排查记录表.pdf
车间隐患排查记录,安全整改三定表很实用的
该文档讲述了出错的排查方法,描述一个错误的正确查找思路。
【食品安全风险隐患排查记录】.docx
九类人员安全隐患排查台账表.pdf
安全隐患排查记录表(日常检查).pdf
安全隐患排查记录表(日常检查).doc
安全生产检查记录表 全面隐患排查记录(管理内容、管理机构、台帐、现场安全管理、消防设施、生产区域、储罐区).doc
安全生产日常检查及隐患排查记录.pdf
高寨小学安全隐患排查例会记录表.doc
常用表格\隐患排查记录表
基础管理类隐患排查清单
双体系日常隐患排查记录表.pdf双体系日常隐患排查记录表.pdf双体系日常隐患排查记录表.pdf双体系日常隐患排查记录表.pdf双体系日常隐患排查记录表.pdf
该文档是对软硬件开发过程中调试过程的指导意见,来自一位拥有二十多年实践经验调试高手的知识与经验
mysql高cpu排查记录