From e9a44e03b05cea6ea8061771eb9faafb1485b380 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Sun, 25 Oct 2020 20:39:50 +0000 Subject: [PATCH 1/5] Fix ConcurrentModificationException for files actions --- .../jenkins/plugins/storage/reports/BuildGcsUploadReport.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java b/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java index 13876e4e..02402181 100644 --- a/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java +++ b/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java @@ -86,7 +86,9 @@ public void addBucket(String bucketName) { * @param bucket the directory location in the cloud */ public void addUpload(String relativePath, BucketPath bucket) { - files.add(bucket.getPath() + "/" + relativePath); + synchronized (files) { + files.add(bucket.getPath() + "/" + relativePath); + } } /** {@inheritDoc} */ From 2f5171ffb66f12a73812ff7f348fa0edb8102fdc Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Mon, 26 Oct 2020 08:55:12 +0000 Subject: [PATCH 2/5] Use guava newConcurrentHashSet --- .../plugins/storage/reports/BuildGcsUploadReport.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java b/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java index 02402181..ba1a2835 100644 --- a/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java +++ b/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java @@ -15,7 +15,7 @@ */ package com.google.jenkins.plugins.storage.reports; -import com.google.api.client.util.Sets; +import com.google.common.collect.Sets; import com.google.jenkins.plugins.storage.util.BucketPath; import hudson.model.AbstractBuild; import hudson.model.AbstractProject; @@ -35,8 +35,8 @@ public class BuildGcsUploadReport extends AbstractGcsUploadReport { public BuildGcsUploadReport(Run run) { super(run); - this.buckets = Sets.newHashSet(); - this.files = Sets.newHashSet(); + this.buckets = Sets.newConcurrentHashSet(); + this.files = Sets.newConcurrentHashSet(); } /** From 6c4f798b9cd8581bb32d656106b03b2a7026057f Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Mon, 26 Oct 2020 08:55:23 +0000 Subject: [PATCH 3/5] Revert "Fix ConcurrentModificationException for files actions" This reverts commit e9a44e03b05cea6ea8061771eb9faafb1485b380. --- .../jenkins/plugins/storage/reports/BuildGcsUploadReport.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java b/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java index ba1a2835..19c0a247 100644 --- a/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java +++ b/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java @@ -86,9 +86,7 @@ public void addBucket(String bucketName) { * @param bucket the directory location in the cloud */ public void addUpload(String relativePath, BucketPath bucket) { - synchronized (files) { - files.add(bucket.getPath() + "/" + relativePath); - } + files.add(bucket.getPath() + "/" + relativePath); } /** {@inheritDoc} */ From dee2c71dca6732fdb608bbcacc6577335e0c4c7f Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Wed, 28 Oct 2020 16:27:04 +0000 Subject: [PATCH 4/5] Revert "Use guava newConcurrentHashSet" This reverts commit 2f5171ffb66f12a73812ff7f348fa0edb8102fdc. --- .../plugins/storage/reports/BuildGcsUploadReport.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java b/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java index 19c0a247..13876e4e 100644 --- a/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java +++ b/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java @@ -15,7 +15,7 @@ */ package com.google.jenkins.plugins.storage.reports; -import com.google.common.collect.Sets; +import com.google.api.client.util.Sets; import com.google.jenkins.plugins.storage.util.BucketPath; import hudson.model.AbstractBuild; import hudson.model.AbstractProject; @@ -35,8 +35,8 @@ public class BuildGcsUploadReport extends AbstractGcsUploadReport { public BuildGcsUploadReport(Run run) { super(run); - this.buckets = Sets.newConcurrentHashSet(); - this.files = Sets.newConcurrentHashSet(); + this.buckets = Sets.newHashSet(); + this.files = Sets.newHashSet(); } /** From 9fa1b080873313a341f674dfc4bcff9fd366ae39 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Wed, 28 Oct 2020 16:27:11 +0000 Subject: [PATCH 5/5] Revert "Revert "Fix ConcurrentModificationException for files actions"" This reverts commit 6c4f798b9cd8581bb32d656106b03b2a7026057f. --- .../jenkins/plugins/storage/reports/BuildGcsUploadReport.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java b/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java index 13876e4e..02402181 100644 --- a/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java +++ b/src/main/java/com/google/jenkins/plugins/storage/reports/BuildGcsUploadReport.java @@ -86,7 +86,9 @@ public void addBucket(String bucketName) { * @param bucket the directory location in the cloud */ public void addUpload(String relativePath, BucketPath bucket) { - files.add(bucket.getPath() + "/" + relativePath); + synchronized (files) { + files.add(bucket.getPath() + "/" + relativePath); + } } /** {@inheritDoc} */