protected void attemptStageAction()

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);
                }
            }
        }
    }