Spring Boot 的打包形态和线程 TCCL 决定 Class.forName 能不能找到类
同一句 Class.forName(name, true, TCCL) 在 IDE 里跑得好好的,打成 fat jar 就报找不到类:能不能加载到取决于两件事,打包形态选中了哪个 application class loader,以及这条线程的 TCCL 是继承来的还是 ThreadFactory 硬设的。
同一句 Class.forName(name, true, TCCL) 在 IDE 里跑得好好的,打成 fat jar 就报找不到类:能不能加载到取决于两件事,打包形态选中了哪个 application class loader,以及这条线程的 TCCL 是继承来的还是 ThreadFactory 硬设的。
两张明细表只共享半个唯一键,同层 JOIN 之后才聚合,分页接口那 40 秒慢查询就出在中间被 DISTINCT 压回去的那些行上;拆成三步后这组参数下结果逐行一致。
容器内存告警冲到 99.45% 却没触发 OOM,峰值里约 87% 是页缓存;同一个容器热缓存下重启只剩 23.70%,最后把告警的分子换成 RSS。
夜间备份那段时间内存接近 limit,按每次运行重新对齐数据后才发现根因:书库 pod 重建时 kubelet 对 local PV 做 fsGroup 权限处理,restic 因此重读整库。
同事准备用 mutation 修复 ClickHouse 表里写坏了 18 天的一列,我在评审方案的同时用只读连接把表的现状摸了一遍,意见主要提在回滚上。