目录
-
问题描述
某系统线上容器大规模504告警
查看监控 org.apache.catalina.connector.ClientAbortException大量报错
load高达20多 cpu升高
机器完全卡死 业务指标都不上传了 监控显示大量old gc
综上所述是GC导致的一些列问题
发现未知问题先回滚。
-
排查
定位是fullgc导致、进一步观察错误日志定位到
定位到是GSON 进行json序列化时发生了溢出。
定位下来是gson对HttpRequest进行toJson()导致的。
-
问题demo模拟
初步判断是对象的循环引用导致的json序列化溢出 附复现demo
public class JsonCirclurreferOverFlowDemo {
public static void main(String[] args) {
A a = n