Github user StephanEwen commented on a diff in the pull request:
https://github.com/apache/flink/pull/5427#discussion_r184481704
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/hooks/MasterHooks.java
---
@@ -291,6 +341,34 @@ else if (!allowUnmatchedState) {
this.userClassLoader =
Preconditions.checkNotNull(userClassLoader);
}
+ @Override
+ public void initializeState(HookInitializationContext context)
throws Exception {
+ final Thread thread = Thread.currentThread();
--- End diff --
We could use a utility like:
```java
public static void withContextClassLoader(ClassLoader cl, Runnable r) {
final Thread thread = Thread.currentThread();
final ClassLoader originalClassLoader = thread.getContextClassLoader();
try {
thread.setContextClassLoader(userClassLoader);
r.run();
}
finally {
thread.setContextClassLoader(originalClassLoader);
}
}
withContextClassLoader(userClassLoader, () -> {
hook.initializeState(context); });
```
How about adding that to `org.apache.flink.util.LambdaUtil`?
---