private void cleanUpJobData(JobID jobId, boolean cleanupHA) { jobManagerMetricGroup.removeJob(jobId); boolean cleanupHABlobs = false; if (cleanupHA) { try { submittedJobGraphStore.removeJobGraph(jobId); // only clean up the HA blobs if we could remove the job from HA storage cleanupHABlobs = true; } catch (Exception e) { log.warn("Could not properly remove job {} from submitted job graph store.", jobId, e); } try { runningJobsRegistry.clearJob(jobId); } catch (IOException e) { log.warn("Could not properly remove job {} from the running jobs registry.", jobId, e); } } else { try { submittedJobGraphStore.releaseJobGraph(jobId); } catch (Exception e) { log.warn("Could not properly release job {} from submitted job graph store.", jobId, e); } } blobServer.cleanupJob(jobId, cleanupHABlobs); }
private void cleanUpJobData(JobID jobId, boolean cleanupHA) { jobManagerMetricGroup.removeJob(jobId); boolean cleanupHABlobs = false; if (cleanupHA) { try { submittedJobGraphStore.removeJobGraph(jobId); // only clean up the HA blobs if we could remove the job from HA storage cleanupHABlobs = true; } catch (Exception e) { log.warn("Could not properly remove job {} from submitted job graph store.", jobId, e); } try { runningJobsRegistry.clearJob(jobId); } catch (IOException e) { log.warn("Could not properly remove job {} from the running jobs registry.", jobId, e); } } else { try { submittedJobGraphStore.releaseJobGraph(jobId); } catch (Exception e) { log.warn("Could not properly release job {} from submitted job graph store.", jobId, e); } } blobServer.cleanupJob(jobId, cleanupHABlobs); }
private CompletableFuture<Void> removeJob(JobID jobId, boolean cleanupHA) { JobManagerRunner jobManagerRunner = jobManagerRunners.remove(jobId); final CompletableFuture<Void> jobManagerRunnerTerminationFuture; if (jobManagerRunner != null) { jobManagerRunnerTerminationFuture = jobManagerRunner.closeAsync(); } else { jobManagerRunnerTerminationFuture = CompletableFuture.completedFuture(null); } return jobManagerRunnerTerminationFuture.thenRunAsync( () -> { jobManagerMetricGroup.removeJob(jobId); blobServer.cleanupJob(jobId, cleanupHA); if (cleanupHA) { try { submittedJobGraphStore.removeJobGraph(jobId); } catch (Exception e) { log.warn("Could not properly remove job {} from submitted job graph store.", jobId); } try { runningJobsRegistry.clearJob(jobId); } catch (IOException e) { log.warn("Could not properly remove job {} from the running jobs registry.", jobId); } } }, getRpcService().getExecutor()); }