summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2021-09-27 23:00:59 +0200
committerGitHub <noreply@github.com>2021-09-27 23:00:59 +0200
commit037f756caf4cfb99bcd988174839d7bc385267b9 (patch)
treedbacdd333b8c9b3fc5662b0da8f737d8110bcc7c
parent990421550d364fda626b4ba3e4c16730f38c74ae (diff)
parentb5286c811ada6d1aacce5498b7e9fbdff6d33576 (diff)
Merge pull request #19277 from vespa-engine/revert-19276-revert-19096-install-common-bundles-via-config-model
Reapply "Install common bundles via config model"
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java1
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java9
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ContainerModelEvaluation.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/PlatformBundles.java133
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/DispatcherComponent.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/RpcResourcePoolComponent.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/BundleInstantiationSpecificationBuilder.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/PlatformBundles.java119
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java3
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java7
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/BundleInstantiationSpecificationBuilderTest.java1
-rw-r--r--container-disc/pom.xml19
16 files changed, 163 insertions, 143 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
index ed1dc80d71d..af88d9c008a 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java
@@ -23,7 +23,7 @@ import com.yahoo.vespa.model.container.component.Handler;
import com.yahoo.vespa.model.container.component.SimpleComponent;
import com.yahoo.vespa.model.container.component.SystemBindingPattern;
import com.yahoo.vespa.model.container.xml.ContainerModelBuilder;
-import com.yahoo.vespa.model.container.xml.PlatformBundles;
+import com.yahoo.vespa.model.container.PlatformBundles;
import java.util.Set;
import java.util.TreeSet;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
index 0b2d0936235..14ead1cdece 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
@@ -38,7 +38,7 @@ import com.yahoo.vespa.model.admin.monitoring.Monitoring;
import com.yahoo.vespa.model.container.ContainerCluster;
import com.yahoo.vespa.model.container.component.Handler;
import com.yahoo.vespa.model.container.component.SystemBindingPattern;
-import com.yahoo.vespa.model.container.xml.PlatformBundles;
+import com.yahoo.vespa.model.container.PlatformBundles;
import java.nio.file.Path;
import java.util.Collections;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java
index 1dd7b35cda5..5574082e334 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java
@@ -34,7 +34,6 @@ import com.yahoo.vespa.model.container.component.Handler;
import com.yahoo.vespa.model.container.component.Servlet;
import com.yahoo.vespa.model.container.component.SystemBindingPattern;
import com.yahoo.vespa.model.container.configserver.ConfigserverCluster;
-import com.yahoo.vespa.model.container.xml.PlatformBundles;
import com.yahoo.vespa.model.utils.FileSender;
import java.util.ArrayList;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
index 532ac78f17e..f5b168958c0 100755
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
@@ -171,6 +171,8 @@ public abstract class ContainerCluster<CONTAINER extends Container>
componentGroup = new ComponentGroup<>(this, "component");
+ addCommonVespaBundles();
+
addComponent(new StatisticsComponent());
addSimpleComponent(AccessLog.class);
addComponent(new DefaultThreadpoolProvider(this, deployState.featureFlags().metricsproxyNumThreads()));
@@ -459,6 +461,13 @@ public abstract class ContainerCluster<CONTAINER extends Container>
}
/**
+ * Adds the Vespa bundles that are necessary for all container types.
+ */
+ public void addCommonVespaBundles() {
+ PlatformBundles.commonVespaBundles().forEach(this::addPlatformBundle);
+ }
+
+ /**
* Adds a bundle present at a known location at the target container nodes.
* Note that the set of platform bundles cannot change during the jdisc container's lifetime.
*
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerModelEvaluation.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerModelEvaluation.java
index 65247f29281..25cb684932b 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerModelEvaluation.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerModelEvaluation.java
@@ -10,7 +10,6 @@ import com.yahoo.vespa.config.search.core.RankingConstantsConfig;
import com.yahoo.vespa.config.search.core.RankingExpressionsConfig;
import com.yahoo.vespa.model.container.component.Handler;
import com.yahoo.vespa.model.container.component.SystemBindingPattern;
-import com.yahoo.vespa.model.container.xml.PlatformBundles;
import java.nio.file.Path;
import java.util.List;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/PlatformBundles.java b/config-model/src/main/java/com/yahoo/vespa/model/container/PlatformBundles.java
new file mode 100644
index 00000000000..24412027e63
--- /dev/null
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/PlatformBundles.java
@@ -0,0 +1,133 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.model.container;
+
+import com.yahoo.vespa.defaults.Defaults;
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+/**
+ * @author gjoranv
+ * @author Ulf Lilleengen
+ */
+public class PlatformBundles {
+
+ private enum JarSuffix {
+ JAR_WITH_DEPS("-jar-with-dependencies.jar"),
+ DEPLOY("-deploy.jar");
+
+ public final String suffix;
+
+ JarSuffix(String suffix) {
+ this.suffix = suffix;
+ }
+ }
+
+ public static final Path LIBRARY_PATH = Paths.get(Defaults.getDefaults().underVespaHome("lib/jars"));
+ public static final String searchAndDocprocBundle = "container-search-and-docproc";
+
+ public static Set<Path> commonVespaBundles() {
+ var bundles = new LinkedHashSet<Path>();
+ commonVespaBundles.stream().map(PlatformBundles::absoluteBundlePath).forEach(bundles::add);
+ return Collections.unmodifiableSet(bundles);
+ }
+
+ public static Path absoluteBundlePath(String fileName) {
+ return absoluteBundlePath(fileName, JarSuffix.JAR_WITH_DEPS);
+ }
+
+ public static Path absoluteBundlePath(String fileName, JarSuffix jarSuffix) {
+ if (fileName == null) return null;
+ return LIBRARY_PATH.resolve(Paths.get(fileName + jarSuffix.suffix));
+ }
+
+ public static boolean isSearchAndDocprocClass(String className) {
+ return searchAndDocprocComponents.contains(className);
+ }
+
+ // Bundles that must be loaded for all container types.
+ private static final Set<String> commonVespaBundles = Set.of(
+ "zkfacade",
+ "zookeeper-server" // TODO: not necessary in metrics-proxy.
+ );
+
+ // This is a hack to allow users to declare components from the search-and-docproc bundle without naming the bundle.
+ private static final Set<String> searchAndDocprocComponents = Set.of(
+ "com.yahoo.docproc.AbstractConcreteDocumentFactory",
+ "com.yahoo.docproc.DocumentProcessor",
+ "com.yahoo.docproc.SimpleDocumentProcessor",
+ "com.yahoo.docproc.util.JoinerDocumentProcessor",
+ "com.yahoo.docproc.util.SplitterDocumentProcessor",
+ "com.yahoo.example.TimingSearcher",
+ "com.yahoo.language.simple.SimpleLinguistics",
+ "com.yahoo.prelude.cluster.ClusterSearcher",
+ "com.yahoo.prelude.fastsearch.FastSearcher",
+ "com.yahoo.prelude.fastsearch.VespaBackEndSearcher",
+ "com.yahoo.prelude.querytransform.CJKSearcher",
+ "com.yahoo.prelude.querytransform.CollapsePhraseSearcher",
+ "com.yahoo.prelude.querytransform.LiteralBoostSearcher",
+ "com.yahoo.prelude.querytransform.NoRankingSearcher",
+ "com.yahoo.prelude.querytransform.NonPhrasingSearcher",
+ "com.yahoo.prelude.querytransform.NormalizingSearcher",
+ "com.yahoo.prelude.querytransform.PhrasingSearcher",
+ "com.yahoo.prelude.querytransform.RecallSearcher",
+ "com.yahoo.prelude.querytransform.StemmingSearcher",
+ "com.yahoo.prelude.searcher.BlendingSearcher",
+ "com.yahoo.prelude.searcher.FieldCollapsingSearcher",
+ "com.yahoo.prelude.searcher.FillSearcher",
+ "com.yahoo.prelude.searcher.JSONDebugSearcher",
+ "com.yahoo.prelude.searcher.JuniperSearcher",
+ "com.yahoo.prelude.searcher.MultipleResultsSearcher",
+ "com.yahoo.prelude.searcher.PosSearcher",
+ "com.yahoo.prelude.searcher.QuotingSearcher",
+ "com.yahoo.prelude.searcher.ValidateSortingSearcher",
+ "com.yahoo.prelude.semantics.SemanticSearcher",
+ "com.yahoo.prelude.statistics.StatisticsSearcher",
+ "com.yahoo.prelude.templates.SearchRendererAdaptor",
+ "com.yahoo.search.Searcher",
+ "com.yahoo.search.cluster.ClusterSearcher",
+ "com.yahoo.search.cluster.PingableSearcher",
+ "com.yahoo.search.federation.FederationSearcher",
+ "com.yahoo.search.federation.ForwardingSearcher",
+ "com.yahoo.search.federation.http.ConfiguredHTTPClientSearcher",
+ "com.yahoo.search.federation.http.ConfiguredHTTPProviderSearcher",
+ "com.yahoo.search.federation.http.HTTPClientSearcher",
+ "com.yahoo.search.federation.http.HTTPProviderSearcher",
+ "com.yahoo.search.federation.http.HTTPSearcher",
+ "com.yahoo.search.federation.news.NewsSearcher",
+ "com.yahoo.search.federation.vespa.VespaSearcher",
+ "com.yahoo.search.grouping.GroupingQueryParser",
+ "com.yahoo.search.grouping.GroupingValidator",
+ "com.yahoo.search.grouping.vespa.GroupingExecutor",
+ "com.yahoo.search.handler.SearchWithRendererHandler",
+ "com.yahoo.search.pagetemplates.PageTemplate",
+ "com.yahoo.search.pagetemplates.PageTemplateSearcher",
+ "com.yahoo.search.pagetemplates.engine.Resolver",
+ "com.yahoo.search.pagetemplates.engine.resolvers.DeterministicResolver",
+ "com.yahoo.search.pagetemplates.engine.resolvers.RandomResolver",
+ "com.yahoo.search.pagetemplates.model.Renderer",
+ "com.yahoo.search.query.rewrite.QueryRewriteSearcher",
+ "com.yahoo.search.query.rewrite.SearchChainDispatcherSearcher",
+ "com.yahoo.search.query.rewrite.rewriters.GenericExpansionRewriter",
+ "com.yahoo.search.query.rewrite.rewriters.MisspellRewriter",
+ "com.yahoo.search.query.rewrite.rewriters.NameRewriter",
+ "com.yahoo.search.querytransform.AllLowercasingSearcher",
+ "com.yahoo.search.querytransform.DefaultPositionSearcher",
+ "com.yahoo.search.querytransform.LowercasingSearcher",
+ "com.yahoo.search.querytransform.NGramSearcher",
+ "com.yahoo.search.querytransform.VespaLowercasingSearcher",
+ "com.yahoo.search.rendering.Renderer",
+ "com.yahoo.search.rendering.SectionedRenderer",
+ "com.yahoo.search.searchchain.ForkingSearcher",
+ "com.yahoo.search.searchchain.example.ExampleSearcher",
+ "com.yahoo.search.searchers.CacheControlSearcher",
+ "com.yahoo.search.statistics.PeakQpsSearcher",
+ "com.yahoo.search.statistics.TimingSearcher",
+ "com.yahoo.vespa.streamingvisitors.MetricsSearcher",
+ "com.yahoo.vespa.streamingvisitors.VdsStreamingSearcher"
+ );
+
+}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
index ef2eaeb4654..fec8dd76102 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/ContainerSearch.java
@@ -11,7 +11,6 @@ import com.yahoo.vespa.configdefinition.IlscriptsConfig;
import com.yahoo.vespa.model.container.ApplicationContainerCluster;
import com.yahoo.vespa.model.container.component.Component;
import com.yahoo.vespa.model.container.component.ContainerSubsystem;
-import com.yahoo.vespa.model.container.search.searchchain.LocalProvider;
import com.yahoo.vespa.model.container.search.searchchain.SearchChains;
import com.yahoo.vespa.model.search.AbstractSearchCluster;
import com.yahoo.vespa.model.search.IndexedSearchCluster;
@@ -23,7 +22,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import static com.yahoo.vespa.model.container.xml.PlatformBundles.searchAndDocprocBundle;
+import static com.yahoo.vespa.model.container.PlatformBundles.searchAndDocprocBundle;
/**
* @author gjoranv
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/DispatcherComponent.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/DispatcherComponent.java
index 232e8fcbd1a..832aede858e 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/DispatcherComponent.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/DispatcherComponent.java
@@ -5,7 +5,7 @@ import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.osgi.provider.model.ComponentModel;
import com.yahoo.vespa.config.search.DispatchConfig;
import com.yahoo.vespa.model.container.component.Component;
-import com.yahoo.vespa.model.container.xml.PlatformBundles;
+import com.yahoo.vespa.model.container.PlatformBundles;
import com.yahoo.vespa.model.search.IndexedSearchCluster;
/**
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/RpcResourcePoolComponent.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/RpcResourcePoolComponent.java
index 248b30eafa7..8c45e5b013f 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/RpcResourcePoolComponent.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/RpcResourcePoolComponent.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.model.container.search;
import com.yahoo.osgi.provider.model.ComponentModel;
import com.yahoo.vespa.model.container.component.Component;
-import com.yahoo.vespa.model.container.xml.PlatformBundles;
+import com.yahoo.vespa.model.container.PlatformBundles;
public class RpcResourcePoolComponent extends Component<RpcResourcePoolComponent, ComponentModel> {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/BundleInstantiationSpecificationBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/BundleInstantiationSpecificationBuilder.java
index 12d74418f9f..ea0ad371e28 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/BundleInstantiationSpecificationBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/BundleInstantiationSpecificationBuilder.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.model.container.xml;
import com.yahoo.config.model.builder.xml.XmlHelper;
import com.yahoo.container.bundle.BundleInstantiationSpecification;
import com.yahoo.component.ComponentSpecification;
+import com.yahoo.vespa.model.container.PlatformBundles;
import org.w3c.dom.Element;
import java.util.Arrays;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
index 4b45979c698..c318180fd56 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
@@ -59,6 +59,7 @@ import com.yahoo.vespa.model.container.ContainerModel;
import com.yahoo.vespa.model.container.ContainerModelEvaluation;
import com.yahoo.vespa.model.container.ContainerThreadpool;
import com.yahoo.vespa.model.container.IdentityProvider;
+import com.yahoo.vespa.model.container.PlatformBundles;
import com.yahoo.vespa.model.container.SecretStore;
import com.yahoo.vespa.model.container.component.AccessLogComponent;
import com.yahoo.vespa.model.container.component.BindingPattern;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/PlatformBundles.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/PlatformBundles.java
deleted file mode 100644
index dc2437c1834..00000000000
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/PlatformBundles.java
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.model.container.xml;
-
-import com.yahoo.vespa.defaults.Defaults;
-
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Set;
-
-/**
- * @author gjoranv
- * @author Ulf Lilleengen
- */
-public class PlatformBundles {
-
- private enum JarSuffix {
- JAR_WITH_DEPS("-jar-with-dependencies.jar"),
- DEPLOY("-deploy.jar");
-
- public final String suffix;
-
- JarSuffix(String suffix) {
- this.suffix = suffix;
- }
- }
-
- public static final Path LIBRARY_PATH = Paths.get(Defaults.getDefaults().underVespaHome("lib/jars"));
- public static final String searchAndDocprocBundle = "container-search-and-docproc";
-
- private static final Set<String> searchAndDocprocComponents;
-
- public static boolean isSearchAndDocprocClass(String className) {
- return searchAndDocprocComponents.contains(className);
- }
-
- public static Path absoluteBundlePath(String fileName) {
- if (fileName == null) return null;
- return LIBRARY_PATH.resolve(Paths.get(fileName + JarSuffix.JAR_WITH_DEPS.suffix));
- }
-
- // This is a hack to allow users to declare components from the search-and-docproc bundle without naming the bundle.
- static {
- searchAndDocprocComponents = Set.of(
- "com.yahoo.docproc.AbstractConcreteDocumentFactory",
- "com.yahoo.docproc.DocumentProcessor",
- "com.yahoo.docproc.SimpleDocumentProcessor",
- "com.yahoo.docproc.util.JoinerDocumentProcessor",
- "com.yahoo.docproc.util.SplitterDocumentProcessor",
- "com.yahoo.example.TimingSearcher",
- "com.yahoo.language.simple.SimpleLinguistics",
- "com.yahoo.prelude.cluster.ClusterSearcher",
- "com.yahoo.prelude.fastsearch.FastSearcher",
- "com.yahoo.prelude.fastsearch.VespaBackEndSearcher",
- "com.yahoo.prelude.querytransform.CJKSearcher",
- "com.yahoo.prelude.querytransform.CollapsePhraseSearcher",
- "com.yahoo.prelude.querytransform.LiteralBoostSearcher",
- "com.yahoo.prelude.querytransform.NoRankingSearcher",
- "com.yahoo.prelude.querytransform.NonPhrasingSearcher",
- "com.yahoo.prelude.querytransform.NormalizingSearcher",
- "com.yahoo.prelude.querytransform.PhrasingSearcher",
- "com.yahoo.prelude.querytransform.RecallSearcher",
- "com.yahoo.prelude.querytransform.StemmingSearcher",
- "com.yahoo.prelude.searcher.BlendingSearcher",
- "com.yahoo.prelude.searcher.FieldCollapsingSearcher",
- "com.yahoo.prelude.searcher.FillSearcher",
- "com.yahoo.prelude.searcher.JSONDebugSearcher",
- "com.yahoo.prelude.searcher.JuniperSearcher",
- "com.yahoo.prelude.searcher.MultipleResultsSearcher",
- "com.yahoo.prelude.searcher.PosSearcher",
- "com.yahoo.prelude.searcher.QuotingSearcher",
- "com.yahoo.prelude.searcher.ValidateSortingSearcher",
- "com.yahoo.prelude.semantics.SemanticSearcher",
- "com.yahoo.prelude.statistics.StatisticsSearcher",
- "com.yahoo.prelude.templates.SearchRendererAdaptor",
- "com.yahoo.search.Searcher",
- "com.yahoo.search.cluster.ClusterSearcher",
- "com.yahoo.search.cluster.PingableSearcher",
- "com.yahoo.search.federation.FederationSearcher",
- "com.yahoo.search.federation.ForwardingSearcher",
- "com.yahoo.search.federation.http.ConfiguredHTTPClientSearcher",
- "com.yahoo.search.federation.http.ConfiguredHTTPProviderSearcher",
- "com.yahoo.search.federation.http.HTTPClientSearcher",
- "com.yahoo.search.federation.http.HTTPProviderSearcher",
- "com.yahoo.search.federation.http.HTTPSearcher",
- "com.yahoo.search.federation.news.NewsSearcher",
- "com.yahoo.search.federation.vespa.VespaSearcher",
- "com.yahoo.search.grouping.GroupingQueryParser",
- "com.yahoo.search.grouping.GroupingValidator",
- "com.yahoo.search.grouping.vespa.GroupingExecutor",
- "com.yahoo.search.handler.SearchWithRendererHandler",
- "com.yahoo.search.pagetemplates.PageTemplate",
- "com.yahoo.search.pagetemplates.PageTemplateSearcher",
- "com.yahoo.search.pagetemplates.engine.Resolver",
- "com.yahoo.search.pagetemplates.engine.resolvers.DeterministicResolver",
- "com.yahoo.search.pagetemplates.engine.resolvers.RandomResolver",
- "com.yahoo.search.pagetemplates.model.Renderer",
- "com.yahoo.search.query.rewrite.QueryRewriteSearcher",
- "com.yahoo.search.query.rewrite.SearchChainDispatcherSearcher",
- "com.yahoo.search.query.rewrite.rewriters.GenericExpansionRewriter",
- "com.yahoo.search.query.rewrite.rewriters.MisspellRewriter",
- "com.yahoo.search.query.rewrite.rewriters.NameRewriter",
- "com.yahoo.search.querytransform.AllLowercasingSearcher",
- "com.yahoo.search.querytransform.DefaultPositionSearcher",
- "com.yahoo.search.querytransform.LowercasingSearcher",
- "com.yahoo.search.querytransform.NGramSearcher",
- "com.yahoo.search.querytransform.VespaLowercasingSearcher",
- "com.yahoo.search.rendering.Renderer",
- "com.yahoo.search.rendering.SectionedRenderer",
- "com.yahoo.search.searchchain.ForkingSearcher",
- "com.yahoo.search.searchchain.example.ExampleSearcher",
- "com.yahoo.search.searchers.CacheControlSearcher",
- "com.yahoo.search.statistics.PeakQpsSearcher",
- "com.yahoo.search.statistics.TimingSearcher",
- "com.yahoo.vespa.streamingvisitors.MetricsSearcher",
- "com.yahoo.vespa.streamingvisitors.VdsStreamingSearcher"
- );
- }
-
-}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java
index 413daefdf75..4359e90e8a2 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java
@@ -51,8 +51,7 @@ public class MetricsProxyContainerClusterTest {
var builder = new PlatformBundlesConfig.Builder();
model.getConfig(builder, CLUSTER_CONFIG_ID);
PlatformBundlesConfig config = builder.build();
- assertEquals(1, config.bundlePaths().size());
- assertThat(config.bundlePaths(0), endsWith(METRICS_PROXY_BUNDLE_FILE.toString()));
+ assertThat(config.bundlePaths(), hasItem(endsWith(METRICS_PROXY_BUNDLE_FILE.toString())));
}
@Test
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
index dd4f4c3b7d5..a66ea736a5b 100755
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
@@ -38,8 +38,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
+import static org.hamcrest.Matchers.hasItem;
import static org.hamcrest.Matchers.hasKey;
-import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
@@ -383,10 +383,7 @@ public class ContainerClusterTest {
cluster.getConfig(bundleBuilder);
List<String> installedBundles = bundleBuilder.build().bundlePaths();
- assertEquals(expectedBundleNames.size(), installedBundles.size());
- assertThat(installedBundles, containsInAnyOrder(
- expectedBundleNames.stream().map(CoreMatchers::endsWith).collect(Collectors.toList())
- ));
+ expectedBundleNames.forEach(b -> assertThat(installedBundles, hasItem(CoreMatchers.endsWith(b))));
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/BundleInstantiationSpecificationBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/BundleInstantiationSpecificationBuilderTest.java
index 70ae6a27324..4f715375e1f 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/BundleInstantiationSpecificationBuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/BundleInstantiationSpecificationBuilderTest.java
@@ -5,6 +5,7 @@ import com.yahoo.component.ComponentSpecification;
import com.yahoo.config.model.builder.xml.XmlHelper;
import com.yahoo.container.bundle.BundleInstantiationSpecification;
import com.yahoo.search.grouping.GroupingValidator;
+import com.yahoo.vespa.model.container.PlatformBundles;
import org.junit.Test;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;
diff --git a/container-disc/pom.xml b/container-disc/pom.xml
index 9b6ccd93a41..e3b2830a974 100644
--- a/container-disc/pom.xml
+++ b/container-disc/pom.xml
@@ -176,12 +176,14 @@
jdisc-security-filters-jar-with-dependencies.jar,
vespaclient-container-plugin-jar-with-dependencies.jar,
vespa-athenz-jar-with-dependencies.jar,
+ container-apache-http-client-bundle-jar-with-dependencies.jar, <!-- Apache http client repackaged as bundle -->
+
+ <!-- Vespa security utils with necessary 3rd party bundles -->
security-utils-jar-with-dependencies.jar,
- zkfacade-jar-with-dependencies.jar,
- zookeeper-server-jar-with-dependencies.jar,
- <!-- Apache http client repackaged as bundle -->
- container-apache-http-client-bundle-jar-with-dependencies.jar,
- <!-- Jetty -->
+ bcpkix-jdk15on-${bouncycastle.version}.jar,
+ bcprov-jdk15on-${bouncycastle.version}.jar,
+
+ <!-- Jetty -->
alpn-api-${jetty-alpn.version}.jar,
http2-server-${jetty.version}.jar,
http2-common-${jetty.version}.jar,
@@ -198,6 +200,8 @@
jetty-servlets-${jetty.version}.jar,
jetty-util-${jetty.version}.jar,
jetty-util-ajax-${jetty.version}.jar,
+ javax.servlet-api-3.1.0.jar,
+
<!-- Spifly (required for OSGi service loader used by Jetty) -->
org.apache.aries.spifly.dynamic.bundle-${spifly.version}.jar,
asm-${asm.version}.jar,
@@ -206,10 +210,7 @@
asm-tree-${asm.version}.jar,
asm-util-${asm.version}.jar,
<!-- Spifly end -->
- <!-- Misc 3rd party bundles -->
- bcpkix-jdk15on-${bouncycastle.version}.jar,
- bcprov-jdk15on-${bouncycastle.version}.jar,
- javax.servlet-api-3.1.0.jar,
+
<!-- Jersey 2 + Jackson 2 -->
aopalliance-repackaged-${hk2.version}.jar,
hk2-api-${hk2.version}.jar,