You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ch...@apache.org on 2022/11/02 11:38:47 UTC

[flink] branch release-1.16 updated: [FLINK-29834] Clear Jackson TypeFactory cache on CL release

This is an automated email from the ASF dual-hosted git repository.

chesnay pushed a commit to branch release-1.16
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/release-1.16 by this push:
     new f5dd37d1e51 [FLINK-29834] Clear Jackson TypeFactory cache on CL release
f5dd37d1e51 is described below

commit f5dd37d1e51963ed3abe318d1e95a34110bc54d2
Author: Chesnay Schepler <ch...@apache.org>
AuthorDate: Tue Nov 1 10:28:18 2022 +0100

    [FLINK-29834] Clear Jackson TypeFactory cache on CL release
---
 .../flink/runtime/execution/librarycache/BlobLibraryCacheManager.java | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/execution/librarycache/BlobLibraryCacheManager.java b/flink-runtime/src/main/java/org/apache/flink/runtime/execution/librarycache/BlobLibraryCacheManager.java
index bd187e745ee..e2723dd2e1e 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/execution/librarycache/BlobLibraryCacheManager.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/execution/librarycache/BlobLibraryCacheManager.java
@@ -28,6 +28,8 @@ import org.apache.flink.util.FlinkUserCodeClassLoaders;
 import org.apache.flink.util.Preconditions;
 import org.apache.flink.util.UserCodeClassLoader;
 
+import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.type.TypeFactory;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -452,6 +454,8 @@ public class BlobLibraryCacheManager implements LibraryCacheManager {
                         "Failed to release user code class loader for "
                                 + Arrays.toString(libraries.toArray()));
             }
+            // clear potential references to user-classes in the singleton cache
+            TypeFactory.defaultInstance().clearCache();
         }
 
         private void runReleaseHooks() {