in genie-agent/src/main/java/com/netflix/genie/agent/execution/statemachine/stages/ArchiveJobOutputsStage.java [63:101]
protected void attemptStageAction(
final ExecutionContext executionContext
) throws RetryableJobExecutionException, FatalJobExecutionException {
final JobSpecification jobSpecification = executionContext.getJobSpecification();
final File jobDirectory = executionContext.getJobDirectory();
if (jobSpecification != null && jobDirectory != null) {
final String archiveLocation = jobSpecification.getArchiveLocation().orElse(null);
if (StringUtils.isNotBlank(archiveLocation)) {
boolean success = false;
try {
log.info("Archive job folder to: " + archiveLocation);
this.jobArchiveService.archiveDirectory(
jobDirectory.toPath(),
new URI(archiveLocation)
);
success = true;
} catch (JobArchiveException | URISyntaxException e) {
// Swallow the error and move on.
log.error("Error archiving job folder", e);
ConsoleLog.getLogger().error(
"Job file archive error: {}",
e.getCause() != null ? e.getCause().getMessage() : e.getMessage()
);
}
final String jobId = executionContext.getClaimedJobId();
final ArchiveStatus archiveStatus = success ? ArchiveStatus.ARCHIVED : ArchiveStatus.FAILED;
try {
this.agentJobService.changeJobArchiveStatus(jobId, archiveStatus);
} catch (ChangeJobArchiveStatusException e) {
// Swallow the error and move on.
log.error("Error updating the archive status", e);
}
}
}
}