diff --git a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/CoordinatorService.java b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/CoordinatorService.java index a5028f3597ae..2bcc5d3ef2f0 100644 --- a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/CoordinatorService.java +++ b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/CoordinatorService.java @@ -442,6 +442,7 @@ public PassiveCompletableFuture submitJob(long jobId, Data jobImmutableInf runningJobInfoIMap.remove(jobId); runningJobMasterMap.remove(jobId); } + jobMaster.setClassLoader(null); }); return new PassiveCompletableFuture<>(jobSubmitFuture); } diff --git a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/master/JobMaster.java b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/master/JobMaster.java index d9a4a0b94a62..8923a416c588 100644 --- a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/master/JobMaster.java +++ b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/master/JobMaster.java @@ -448,6 +448,10 @@ public ClassLoader getClassLoader() { return classLoader; } + public void setClassLoader(ClassLoader classLoader) { + this.classLoader = classLoader; + } + public void cancelJob() { physicalPlan.cancelJob(); }