携程 JDK25 升级踩坑记:一场由 G1GC “偷走” 对象引发的数据静默损坏
摘要
携程大数据团队在升级JDK25时,发现Spark、Flink写入的Parquet和ORC文件出现静默损坏。通过AI工具辅助分析,最终锁定问题根源:JDK25的G1GC在Optional Evacuation阶段错误移动了被JNI锁定的对象,导致数据写入时内存地址错乱。该Bug影响所有使用G1GC的JDK25版本,建议暂时切换为ParallelGC或ZGC规避风险,预计2026年4月发布的JDK25.0.3将修复此问题。