From 7fc114e80210f3c545953c1b79e8462a244a392c Mon Sep 17 00:00:00 2001 From: mchrza Date: Fri, 11 Oct 2024 13:38:32 +0200 Subject: [PATCH] Fix two bugs which have happened during job-deletions. Signed-off-by: Maximilian Chrzan Signed-off-by: mchrza --- .../src/main/java/com/here/xyz/jobs/steps/inputs/Input.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xyz-jobs/xyz-job-steps/src/main/java/com/here/xyz/jobs/steps/inputs/Input.java b/xyz-jobs/xyz-job-steps/src/main/java/com/here/xyz/jobs/steps/inputs/Input.java index 1b6afeab20..749bd9ec50 100644 --- a/xyz-jobs/xyz-job-steps/src/main/java/com/here/xyz/jobs/steps/inputs/Input.java +++ b/xyz-jobs/xyz-job-steps/src/main/java/com/here/xyz/jobs/steps/inputs/Input.java @@ -145,7 +145,7 @@ private static List loadInputsAndWriteMetadata(String jobId return inputs; } - static final InputsMetadata loadMetadata(String jobId) throws IOException { + static final InputsMetadata loadMetadata(String jobId) throws IOException, AmazonS3Exception { InputsMetadata metadata = metadataCache.get(jobId); if (metadata != null) return metadata; @@ -182,7 +182,7 @@ static final void storeMetadata(String jobId, List inputs, String referen Map metadata = inputs.stream() .collect(Collectors.toMap(input -> (input.s3Bucket == null ? "" : "s3://" + input.s3Bucket + "/") + input.s3Key, input -> new InputMetadata(input.byteSize, input.compressed))); - storeMetadata(jobId, new InputsMetadata(metadata, Set.of(jobId), referencedJobId)); + storeMetadata(jobId, new InputsMetadata(metadata, new HashSet<>(Set.of(jobId)), referencedJobId)); } static final List loadInputsInParallel(String bucketName, String inputS3Prefix) { @@ -249,7 +249,7 @@ private static void deleteInputs(String owningJobId, String referencingJob) { metadata = loadMetadata(owningJobId); metadata.referencingJobs().remove(referencingJob); } - catch (IOException ignore) {} + catch (AmazonS3Exception | IOException ignore) {} //Only delete the inputs if no other job is referencing them anymore if (metadata == null || metadata.referencingJobs().isEmpty()) {