From be96f81ee6bb05a5c64802f27bae6ce3d382cbe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E4=B8=87=E4=B9=89?= Date: Tue, 15 Sep 2026 01:00:11 +0800 Subject: [PATCH] [bug] Upgrade parquet to 1.16.0 to fix Flink classloader retention (#9795) Parquet 1.15.x CodecFactory instantiates codecs through Hadoop's ReflectionUtils.CONSTRUCTOR_CACHE, a static ConcurrentHashMap with strong keys living in the shared AppClassLoader. Paimon shades parquet but not Hadoop, so the shaded ZstandardCodec class loaded by each job's ChildFirstClassLoader is pinned there forever (~18 MB Metaspace per finished Flink job, never reclaimed). Parquet 1.16.0 rewrites CodecFactory to construct codecs directly (DirectCodecFactory) and no longer routes through the shared ReflectionUtils cache, so the job classloader is reclaimable. --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5139e51e271b..8b4b65d354b8 100644 --- a/pom.xml +++ b/pom.xml @@ -110,7 +110,7 @@ under the License. 1.19.1 1.6.1 0.15.0 - 1.15.2 + 1.16.0 1.9.2 3.19.6 1.2.1