summaryrefslogtreecommitdiffstats
path: root/jdisc_core
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2022-06-29 11:11:31 +0200
committerGitHub <noreply@github.com>2022-06-29 11:11:31 +0200
commitcbe98d69506bf60f7fcf7681eb99a79589300882 (patch)
tree6e5b357904b0e0be114b95424777aefbe226e95a /jdisc_core
parent55930d39814dc4bfedbce5396701f3e309eae580 (diff)
parent492dd3948f03fd387da2f8dd95f1a92f6d423a1e (diff)
Merge pull request #23234 from vespa-engine/jonmv/un-hide-installing-bundles
Clear previous allowed duplicates for collision keys when adding new …
Diffstat (limited to 'jdisc_core')
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java
index 75cca79f556..6b57b1e90e7 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java
@@ -18,6 +18,7 @@ import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.logging.Logger;
+import java.util.stream.Collectors;
/**
* A bundle {@link CollisionHook} that contains a set of bundles that are allowed to collide with bundles
@@ -50,8 +51,10 @@ public class BundleCollisionHook implements CollisionHook, EventHook, FindHook {
/**
* Adds a collection of bundles to the allowed duplicates.
+ * Also clears any previous allowed duplicates of the new allowed duplicates.
*/
synchronized void allowDuplicateBundles(Collection<Bundle> bundles) {
+ allowedDuplicates.values().removeAll(bundles.stream().map(BsnVersion::new).collect(Collectors.toSet()));
for (var bundle : bundles) {
allowedDuplicates.put(bundle, new BsnVersion(bundle));
}