diff options
author | gjoranv <gv@verizonmedia.com> | 2022-08-31 14:11:09 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2022-08-31 14:11:09 +0200 |
commit | c5d3f1d34c8dc637cc3cc38a8d3a246d3f32ce66 (patch) | |
tree | a04cc15ed71906e8e79dc99174e0e4d43d3125bf /container-core/src | |
parent | 581adfacdb511725ae4867dc83b3d2987e7f7347 (diff) |
Revert "Set duplicate bundles to the set of bundles from the failed generation."
This reverts commit f68b1f92937d495ce968d07ae7e7212b0e3cce47.
Diffstat (limited to 'container-core/src')
2 files changed, 5 insertions, 8 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/core/config/ApplicationBundleLoader.java b/container-core/src/main/java/com/yahoo/container/core/config/ApplicationBundleLoader.java index 1e30b19a48d..972d6677e3b 100644 --- a/container-core/src/main/java/com/yahoo/container/core/config/ApplicationBundleLoader.java +++ b/container-core/src/main/java/com/yahoo/container/core/config/ApplicationBundleLoader.java @@ -71,10 +71,8 @@ public class ApplicationBundleLoader { bundlesFromNewGeneration.forEach(reference2Bundle::remove); Collection<Bundle> ret = bundlesFromNewGeneration.values(); - // For correct operation of the CollisionHook (more specifically its FindHook implementation), the set of - // allowed duplicates must reflect the next set of bundles to uninstall, which is now the bundles from the - // failed generation. - osgi.allowDuplicateBundles(ret); + // No duplicate bundles should be allowed until the next call to useBundles. + osgi.allowDuplicateBundles(Set.of()); // Clear restore info in case this method is called multiple times, for some reason. bundlesFromNewGeneration = Map.of(); diff --git a/container-core/src/test/java/com/yahoo/container/core/config/ApplicationBundleLoaderTest.java b/container-core/src/test/java/com/yahoo/container/core/config/ApplicationBundleLoaderTest.java index 54ef2d41ac6..bc5b6d6069b 100644 --- a/container-core/src/test/java/com/yahoo/container/core/config/ApplicationBundleLoaderTest.java +++ b/container-core/src/test/java/com/yahoo/container/core/config/ApplicationBundleLoaderTest.java @@ -106,10 +106,9 @@ public class ApplicationBundleLoaderTest { assertEquals(1, bundlesToUninstall.size()); assertEquals(BUNDLE_2.getSymbolicName(), bundlesToUninstall.iterator().next().getSymbolicName()); - // The bundle from the failed generation is not seen as current. It will still be installed, - // as uninstalling is handled by the Deconstructor, not included in this test setup. - assertEquals(1, osgi.getCurrentBundles().size()); - assertEquals(BUNDLE_1.getSymbolicName(), osgi.getCurrentBundles().get(0).getSymbolicName()); + // Both bundles are still current, until the bundle from the failed gen will be uninstalled. + // Uninstalling is handled by the Deconstructor, not included in this test setup. + assertEquals(2, osgi.getCurrentBundles().size()); // Only the bundle-1 file reference is active, bundle-2 is removed. assertEquals(1, bundleLoader.getActiveFileReferences().size()); |