1u0 commented on a change in pull request #9271: [FLINK-13384][1.9][runtime]
Fix back pressure sampling for SourceStreamTask
URL: https://github.com/apache/flink/pull/9271#discussion_r309700136
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/taskmanager/Task.java
##########
@@ -593,6 +593,10 @@ else if (current == ExecutionState.CANCELING) {
LOG.info("Loading JAR files for task {}.", this);
userCodeClassLoader = createUserCodeClassloader();
+
+ // make sure the user code classloader is accessible
thread-locally
+
executingThread.setContextClassLoader(userCodeClassLoader);
Review comment:
Imo, the issue with class loader is happening to the change that introduced
in this PR.
This happens, because you are eagerly creating `LegacySourceFunctionThread`
and it inherits default class loader. So to fix your issue, you are either need
to set class loader in `LegacySourceFunctionThread.run()` or on the thread that
instantiates the `invokable`.
<strike>
Instead of setting the `userCodeClassLoader` eagerly, I propose to revert
any changes related to it and move `LegacySourceFunctionThread` creation out of
`SourceStreamTask` constructor to a later stage:
* as it was instantiated before in
`SourceStreamTask::performDefaultAction()`;
* or move the `LegacySourceFunctionThread` creation to
`SourceStreamTask::init()`.
</strike>
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services