You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by dw...@apache.org on 2022/03/03 08:26:45 UTC
[flink] branch master updated: [FLINK-25833][core] FlinkUserCodeClassLoader is registered as parallel capable
This is an automated email from the ASF dual-hosted git repository.
dwysakowicz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new f57a537 [FLINK-25833][core] FlinkUserCodeClassLoader is registered as parallel capable
f57a537 is described below
commit f57a5379ff9c108627d3c511414e7ea71a1a2a2f
Author: Anton Kalashnikov <ka...@yandex.ru>
AuthorDate: Tue Mar 1 16:26:07 2022 +0100
[FLINK-25833][core] FlinkUserCodeClassLoader is registered as parallel capable
---
.../apache/flink/util/FlinkUserCodeClassLoader.java | 4 ++++
.../librarycache/FlinkUserCodeClassLoadersTest.java | 21 +++++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/flink-core/src/main/java/org/apache/flink/util/FlinkUserCodeClassLoader.java b/flink-core/src/main/java/org/apache/flink/util/FlinkUserCodeClassLoader.java
index 64c7966..b605d7b 100644
--- a/flink-core/src/main/java/org/apache/flink/util/FlinkUserCodeClassLoader.java
+++ b/flink-core/src/main/java/org/apache/flink/util/FlinkUserCodeClassLoader.java
@@ -29,6 +29,10 @@ import java.util.function.Consumer;
public abstract class FlinkUserCodeClassLoader extends URLClassLoader {
public static final Consumer<Throwable> NOOP_EXCEPTION_HANDLER = classLoadingException -> {};
+ static {
+ ClassLoader.registerAsParallelCapable();
+ }
+
private final Consumer<Throwable> classLoadingExceptionHandler;
protected FlinkUserCodeClassLoader(URL[] urls, ClassLoader parent) {
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/execution/librarycache/FlinkUserCodeClassLoadersTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/execution/librarycache/FlinkUserCodeClassLoadersTest.java
index 31e5b56..c03e2ae 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/execution/librarycache/FlinkUserCodeClassLoadersTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/execution/librarycache/FlinkUserCodeClassLoadersTest.java
@@ -44,6 +44,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
/** Tests for classloading and class loader utilities. */
public class FlinkUserCodeClassLoadersTest extends TestLogger {
@@ -284,5 +285,25 @@ public class FlinkUserCodeClassLoadersTest extends TestLogger {
childClassLoader.loadClass(className);
}
+ @Test
+ public void testParallelCapable() {
+ // It will be true only if all the super classes (except class Object) of the caller are
+ // registered as parallel capable.
+ assertTrue(TestParentFirstClassLoader.isParallelCapable);
+ }
+
+ private static class TestParentFirstClassLoader
+ extends FlinkUserCodeClassLoaders.ParentFirstClassLoader {
+ public static boolean isParallelCapable;
+
+ static {
+ isParallelCapable = ClassLoader.registerAsParallelCapable();
+ }
+
+ TestParentFirstClassLoader() {
+ super(null, null, null);
+ }
+ }
+
private static class ClassToLoad {}
}