Code review comment: No success is already logged at info level at line 102. I would just make this a warning right away as that stands out more and is easier to detect.

Code under review:
protected double maintain() {
        int attempts = 0;
        int[] failures = new int[1];

        List<Runnable> futureDownloads = new ArrayList<>();
        for (TenantName tenantName : applicationRepository.tenantRepository().getAllTenantNames()) {
            for (Session session : applicationRepository.tenantRepository().getTenant(tenantName).getSessionRepository().getRemoteSessions()) {
                if (shuttingDown())
                    break;

                switch (session.getStatus()) {
                    case PREPARE, ACTIVATE:
                        break;
                    default:
                        continue;
                }

                ApplicationId applicationId = session.getOptionalApplicationId().orElse(null);
                if (applicationId == null) 
                    continue;
                
                log.finest(() -> "Verifying application package for " + applicationId);

                Optional<FileReference> appFileReference = session.getApplicationPackageReference();
                if (appFileReference.isPresent()) {
                    long sessionId = session.getSessionId();
                    attempts++;
                    if (!fileReferenceExistsOnDisk(downloadDirectory, appFileReference.get())) {
                        log.fine(() -> "Downloading application package with file reference " + appFileReference +
                                       " for " + applicationId + " (session " + sessionId + ")");

                        FileReferenceDownload download = new FileReferenceDownload(appFileReference.get(),
                                                                                   this.getClass().getSimpleName(),
                                                                                   false);
                        Future<Optional<File>> futureDownload = fileDownloader.getFutureFileOrTimeout(download);
                        futureDownloads.add(() -> {
                            try {
                                if (futureDownload.get().isPresent()) {
                                    createLocalSessionIfMissing(applicationId, sessionId);
                                    return;
                                }
                            }
                            catch (Exception e) {
                                log.info("Exception when downloading application package (" + appFileReference + ")" +
                                                 " for " + applicationId + " (session " + sessionId + "): " + e.getMessage());
                            }
                            failures[0]++;
                            log.info("Downloading application package (" + appFileReference + ")" +
                                     " for " + applicationId + " (session " + sessionId + ") unsuccessful. " +
                                     "Can be ignored unless it happens many times over a long period of time, retries is expected");
                        });
                    }
                    else {
                        createLocalSessionIfMissing(applicationId, sessionId);
                    }
                }
            }
        }

        futureDownloads.forEach(Runnable::run);

        return asSuccessFactorDeviation(attempts, failures[0]);
    }

Line commented on: log.info("Exception when downloading application package (" + appFileReference + ")" +

Revised code:
protected double maintain() {
        int attempts = 0;
        int[] failures = new int[1];

        List<Runnable> futureDownloads = new ArrayList<>();
        for (TenantName tenantName : applicationRepository.tenantRepository().getAllTenantNames()) {
            for (Session session : applicationRepository.tenantRepository().getTenant(tenantName).getSessionRepository().getRemoteSessions()) {
                if (shuttingDown())
                    break;

                switch (session.getStatus()) {
                    case PREPARE, ACTIVATE:
                        break;
                    default:
                        continue;
                }

                ApplicationId applicationId = session.getOptionalApplicationId().orElse(null);
                if (applicationId == null) 
                    continue;
                
                log.finest(() -> "Verifying application package for " + applicationId);

                Optional<FileReference> appFileReference = session.getApplicationPackageReference();
                if (appFileReference.isPresent()) {
                    long sessionId = session.getSessionId();
                    attempts++;
                    if (!fileReferenceExistsOnDisk(downloadDirectory, appFileReference.get())) {
                        log.fine(() -> "Downloading application package with file reference " + appFileReference +
                                       " for " + applicationId + " (session " + sessionId + ")");

                        FileReferenceDownload download = new FileReferenceDownload(appFileReference.get(),
                                                                                   this.getClass().getSimpleName(),
                                                                                   false);
                        Future<Optional<File>> futureDownload = fileDownloader.getFutureFileOrTimeout(download);
                        futureDownloads.add(() -> {
                            try {
                                if (futureDownload.get().isPresent()) {
                                    createLocalSessionIfMissing(applicationId, sessionId);
                                    return;
                                }
                            }
                            catch (Exception e) {
                                log.warning("Exception when downloading application package (" + appFileReference + ")" +
                                                 " for " + applicationId + " (session " + sessionId + "): " + e.getMessage());
                            }
                            failures[0]++;
                            log.info("Downloading application package (" + appFileReference + ")" +
                                     " for " + applicationId + " (session " + sessionId + ") unsuccessful. " +
                                     "Can be ignored unless it happens many times over a long period of time, retries is expected");
                        });
                    }
                    else {
                        createLocalSessionIfMissing(applicationId, sessionId);
                    }
                }
            }
        }

        futureDownloads.forEach(Runnable::run);

        return asSuccessFactorDeviation(attempts, failures[0]);
    }