diff options
author | jonmv <venstad@gmail.com> | 2022-06-24 14:09:03 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-06-24 14:09:03 +0200 |
commit | 492dd3948f03fd387da2f8dd95f1a92f6d423a1e (patch) | |
tree | 7266399c2d65b474e875b06e164548d60c6cc8b5 /jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java | |
parent | 9b15271f6d4cb16772ddebeef8a690bb34737623 (diff) |
Clear previous allowed duplicates for collision keys when adding new ones
Diffstat (limited to 'jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java')
-rw-r--r-- | jdisc_core/src/main/java/com/yahoo/jdisc/core/BundleCollisionHook.java | 3 |
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)); } |