diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-01-15 13:50:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-15 13:50:09 +0100 |
commit | 5c908bb034be276f0af6e546fc92ae27089da236 (patch) | |
tree | 00284f7a6c48642dc33bb5d32b33a435a07fecde /config-model/src | |
parent | dde4ea31f1d09f1cec9784d994004e378731b862 (diff) | |
parent | a59db61e7120397c49463ce526e62e4ceaa0472a (diff) |
Merge pull request #16043 from vespa-engine/bratseth/remove-cacheSize
Bratseth/remove cache size
Diffstat (limited to 'config-model/src')
23 files changed, 99 insertions, 138 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java index 02ef276dba3..778610bd63b 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java @@ -39,7 +39,7 @@ import static com.yahoo.vespa.model.admin.monitoring.MetricSet.empty; * * @author gjoranv */ -public class Admin extends AbstractConfigProducer implements Serializable { +public class Admin extends AbstractConfigProducer<Admin> implements Serializable { private static final long serialVersionUID = 1L; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/EndpointCertificateSecretsValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/EndpointCertificateSecretsValidator.java index 4b8bbd4ff08..744d36f2205 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/EndpointCertificateSecretsValidator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/EndpointCertificateSecretsValidator.java @@ -15,4 +15,5 @@ public class EndpointCertificateSecretsValidator extends Validator { throw new CertificateNotReadyException("TLS enabled, but could not yet retrieve certificate for application " + deployState.getProperties().applicationId().serializedForm()); } } + } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java index b643f771d73..c5edfb9bbf7 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java @@ -42,7 +42,9 @@ public abstract class DomAdminBuilderBase extends VespaDomBuilder.DomConfigProdu private final FileRegistry fileRegistry; protected final boolean multitenant; - DomAdminBuilderBase(ApplicationType applicationType, FileRegistry fileRegistry, boolean multitenant, + DomAdminBuilderBase(ApplicationType applicationType, + FileRegistry fileRegistry, + boolean multitenant, List<ConfigServerSpec> configServerSpecs) { this.applicationType = applicationType; this.fileRegistry = fileRegistry; @@ -50,7 +52,7 @@ public abstract class DomAdminBuilderBase extends VespaDomBuilder.DomConfigProdu this.configServerSpecs = configServerSpecs; } - List<Configserver> getConfigServersFromSpec(DeployLogger deployLogger, AbstractConfigProducer parent) { + List<Configserver> getConfigServersFromSpec(DeployLogger deployLogger, AbstractConfigProducer<?> parent) { List<Configserver> configservers = new ArrayList<>(); for (ConfigServerSpec spec : configServerSpecs) { HostSystem hostSystem = parent.hostSystem(); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomComponentBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomComponentBuilder.java index 4beefb84b71..a79db295df6 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomComponentBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomComponentBuilder.java @@ -15,7 +15,7 @@ import org.w3c.dom.Element; * @author gjoranv * @author Tony Vaagenes */ -public class DomComponentBuilder extends VespaDomBuilder.DomConfigProducerBuilder<Component> { +public class DomComponentBuilder extends VespaDomBuilder.DomConfigProducerBuilder<Component<?, ?>> { public static final String elementName = "component" ; @@ -30,7 +30,7 @@ public class DomComponentBuilder extends VespaDomBuilder.DomConfigProducerBuilde } @Override - protected Component doBuild(DeployState deployState, AbstractConfigProducer ancestor, Element spec) { + protected Component doBuild(DeployState deployState, AbstractConfigProducer<?> ancestor, Element spec) { Component component = buildComponent(spec); addChildren(deployState, ancestor, spec, component); return component; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomFilterBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomFilterBuilder.java deleted file mode 100644 index 7e97944612d..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomFilterBuilder.java +++ /dev/null @@ -1,19 +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.builder.xml.dom; - -import com.yahoo.config.model.deploy.DeployState; -import com.yahoo.config.model.producer.AbstractConfigProducer; -import com.yahoo.vespa.model.container.component.Component; -import com.yahoo.vespa.model.container.component.HttpFilter; -import com.yahoo.vespa.model.container.xml.BundleInstantiationSpecificationBuilder; -import org.w3c.dom.Element; - -/** - * @author Tony Vaagenes - */ -public class DomFilterBuilder extends VespaDomBuilder.DomConfigProducerBuilder<Component> { - @Override - protected Component doBuild(DeployState deployState, AbstractConfigProducer ancestor, Element element) { - return new HttpFilter(BundleInstantiationSpecificationBuilder.build(element)); - } -} diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomHandlerBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomHandlerBuilder.java index 145535fe06f..71ff129ffbe 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomHandlerBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomHandlerBuilder.java @@ -27,15 +27,14 @@ import static java.util.logging.Level.INFO; /** * @author gjoranv */ -public class DomHandlerBuilder extends VespaDomBuilder.DomConfigProducerBuilder<Handler> { +public class DomHandlerBuilder extends VespaDomBuilder.DomConfigProducerBuilder<Handler<?>> { private static final Set<BindingPattern> reservedBindings = - Set.of( - METRICS_V2_HANDLER_BINDING_1, - METRICS_V2_HANDLER_BINDING_2, - STATE_HANDLER_BINDING_1, - STATE_HANDLER_BINDING_2, - VIP_HANDLER_BINDING); + Set.of(METRICS_V2_HANDLER_BINDING_1, + METRICS_V2_HANDLER_BINDING_2, + STATE_HANDLER_BINDING_1, + STATE_HANDLER_BINDING_2, + VIP_HANDLER_BINDING); private final ApplicationContainerCluster cluster; @@ -44,7 +43,7 @@ public class DomHandlerBuilder extends VespaDomBuilder.DomConfigProducerBuilder< } @Override - protected Handler doBuild(DeployState deployState, AbstractConfigProducer parent, Element handlerElement) { + protected Handler<?> doBuild(DeployState deployState, AbstractConfigProducer<?> parent, Element handlerElement) { Handler<? super Component<?, ?>> handler = createHandler(handlerElement); for (Element binding : XML.getChildren(handlerElement, "binding")) diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java index 9ca5904a7c5..e65fd863d7d 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java @@ -115,10 +115,10 @@ public class VespaDomBuilder extends VespaModelBuilder { * @param <T> an {@link com.yahoo.config.model.producer.AbstractConfigProducer} * @author vegardh */ - public static abstract class DomConfigProducerBuilder<T extends AbstractConfigProducer> { + public static abstract class DomConfigProducerBuilder<T extends AbstractConfigProducer<?>> { // TODO: find good way to provide access to app package - public final T build(DeployState deployState, AbstractConfigProducer ancestor, Element producerSpec) { + public final T build(DeployState deployState, AbstractConfigProducer<?> ancestor, Element producerSpec) { T t = doBuild(deployState, ancestor, producerSpec); if (t instanceof AbstractService) { @@ -130,9 +130,9 @@ public class VespaDomBuilder extends VespaModelBuilder { return t; } - protected abstract T doBuild(DeployState deployState, AbstractConfigProducer ancestor, Element producerSpec); + protected abstract T doBuild(DeployState deployState, AbstractConfigProducer<?> ancestor, Element producerSpec); - private void initializeProducer(AbstractConfigProducer child, DeployState deployState, Element producerSpec) { + private void initializeProducer(AbstractConfigProducer<?> child, DeployState deployState, Element producerSpec) { UserConfigRepo userConfigs = UserConfigBuilder.build(producerSpec, deployState, deployState.getDeployLogger()); // TODO: must be made to work: //userConfigs.applyWarnings(child); @@ -208,16 +208,18 @@ public class VespaDomBuilder extends VespaModelBuilder { * * @author vegardh */ - static class DomSimpleConfigProducerBuilder extends DomConfigProducerBuilder<SimpleConfigProducer> { - private String configId; + static class DomSimpleConfigProducerBuilder extends DomConfigProducerBuilder<SimpleConfigProducer<?>> { + + private final String configId; DomSimpleConfigProducerBuilder(String configId) { this.configId = configId; } @Override - protected SimpleConfigProducer doBuild(DeployState deployState, AbstractConfigProducer parent, Element producerSpec) { - return new SimpleConfigProducer(parent, configId); + protected SimpleConfigProducer<?> doBuild(DeployState deployState, AbstractConfigProducer<?> parent, + Element producerSpec) { + return new SimpleConfigProducer<>(parent, configId); } } @@ -232,7 +234,7 @@ public class VespaDomBuilder extends VespaModelBuilder { } @Override - protected ApplicationConfigProducerRoot doBuild(DeployState deployState, AbstractConfigProducer parent, Element producerSpec) { + protected ApplicationConfigProducerRoot doBuild(DeployState deployState, AbstractConfigProducer<?> parent, Element producerSpec) { ApplicationConfigProducerRoot root = new ApplicationConfigProducerRoot(parent, name, deployState.getDocumentModel(), diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomFederationSearcherBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomFederationSearcherBuilder.java index 2cc29ad9b36..3a4e8a70613 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomFederationSearcherBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomFederationSearcherBuilder.java @@ -23,10 +23,13 @@ import java.util.Optional; /** * Builds a federation searcher config producer from an element. + * * @author Tony Vaagenes */ public class DomFederationSearcherBuilder extends VespaDomBuilder.DomConfigProducerBuilder<Searcher<?>> { + static class FederationSearcherModelBuilder extends GenericChainedComponentModelBuilder { + private final List<FederationSearcherModel.TargetSpec> sources; private final boolean inheritDefaultSources; @@ -69,6 +72,7 @@ public class DomFederationSearcherBuilder extends VespaDomBuilder.DomConfigProdu protected FederationSearcherModel build() { return new FederationSearcherModel(componentId, dependencies, sources, inheritDefaultSources); } + } @Override @@ -86,4 +90,5 @@ public class DomFederationSearcherBuilder extends VespaDomBuilder.DomConfigProdu return Optional.of(new DomComponentBuilder(namespace).build(deployState, ancestor, targetSelectorElement)); } + } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomProviderBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomProviderBuilder.java index f1a0fa95e38..1e6159ce9ca 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomProviderBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomProviderBuilder.java @@ -46,13 +46,11 @@ public class DomProviderBuilder extends DomGenericTargetBuilder<Provider> { final Double connectionPoolTimeout; final String clusterName; final List<Node> nodes; - final Integer cacheSizeMB; ProviderReader(Element providerElement) { type = readType(providerElement); path = readPath(providerElement); cacheWeight = readCacheWeight(providerElement); - cacheSizeMB = readCacheSize(providerElement); clusterName = readCluster(providerElement); readTimeout = readReadTimeout(providerElement); connectionTimeout = readConnectionTimeout(providerElement); @@ -61,7 +59,6 @@ public class DomProviderBuilder extends DomGenericTargetBuilder<Provider> { nodes = readNodes(providerElement); } - private String getAttributeOrNull(Element element, String name) { String value = element.getAttribute(name); return value.isEmpty() ? null : value; @@ -80,11 +77,6 @@ public class DomProviderBuilder extends DomGenericTargetBuilder<Provider> { return (cacheWeightString == null)? null : Double.parseDouble(cacheWeightString); } - private Integer readCacheSize(Element providerElement) { - String cacheSize = getAttributeOrNull(providerElement, "cachesize"); - return (cacheSize == null)? null : (int)BinaryScaledAmountParser.parse(cacheSize).as(BinaryPrefix.mega); - } - private Integer readRetries(Element providerElement) { String retriesString = getAttributeOrNull(providerElement, "retries"); return (retriesString == null) ? null : Integer.parseInt(retriesString); @@ -167,8 +159,8 @@ public class DomProviderBuilder extends DomGenericTargetBuilder<Provider> { @SuppressWarnings("deprecation") private Provider buildProvider(ChainSpecification specWithoutInnerSearchers, - ProviderReader providerReader, FederationOptions federationOptions) { - + ProviderReader providerReader, + FederationOptions federationOptions) { if (providerReader.type == null) { return new GenericProvider(specWithoutInnerSearchers, federationOptions); } else if (LocalProviderSpec.includesType(providerReader.type)) { @@ -178,15 +170,22 @@ public class DomProviderBuilder extends DomGenericTargetBuilder<Provider> { } } - private Provider buildLocalProvider(ChainSpecification specWithoutInnerSearchers, ProviderReader providerReader, FederationOptions federationOptions) { + private Provider buildLocalProvider(ChainSpecification specWithoutInnerSearchers, + ProviderReader providerReader, + FederationOptions federationOptions) { try { - ensureEmpty(specWithoutInnerSearchers.componentId, providerReader.cacheWeight, providerReader.path, providerReader.nodes, - providerReader.readTimeout, providerReader.connectionTimeout, providerReader.connectionPoolTimeout, + ensureEmpty(specWithoutInnerSearchers.componentId, + providerReader.cacheWeight, + providerReader.path, + providerReader.nodes, + providerReader.readTimeout, + providerReader.connectionTimeout, + providerReader.connectionPoolTimeout, providerReader.retries); return new LocalProvider(specWithoutInnerSearchers, federationOptions, - new LocalProviderSpec(providerReader.clusterName, providerReader.cacheSizeMB)); + new LocalProviderSpec(providerReader.clusterName)); } catch (Exception e) { throw new RuntimeException("Failed creating local provider " + specWithoutInnerSearchers.componentId, e); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChain.java b/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChain.java index 4eb3fee83d8..ee246b5e485 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChain.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/docproc/DocprocChain.java @@ -14,7 +14,7 @@ import static com.yahoo.container.core.ChainsConfig.Chains.Type; */ public class DocprocChain extends Chain<DocumentProcessor> { - private Map<Pair<String, String>, String> fieldNameSchemaMap; + private final Map<Pair<String, String>, String> fieldNameSchemaMap; private static final Type.Enum TYPE = Type.Enum.DOCPROC; public DocprocChain(ChainSpecification specWithoutInnerComponents, Map<Pair<String,String>, String> fieldNameSchemaMap) { 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 51f526d5efd..ef2eaeb4654 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 @@ -74,20 +74,6 @@ public class ContainerSearch extends ContainerSubsystem<SearchChains> // public for testing public void initializeSearchChains(Map<String, ? extends AbstractSearchCluster> searchClusters) { getChains().initialize(searchClusters); - - QrsCache defaultCacheOptions = getOptions().cacheSettings.get(""); - if (defaultCacheOptions != null) { - for (LocalProvider localProvider : getChains().localProviders()) { - localProvider.setCacheSize(defaultCacheOptions.size); - } - } - - for (LocalProvider localProvider : getChains().localProviders()) { - QrsCache cacheOptions = getOptions().cacheSettings.get(localProvider.getClusterName()); - if (cacheOptions != null) { - localProvider.setCacheSize(cacheOptions.size); - } - } } public void setQueryProfiles(QueryProfiles queryProfiles) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/GenericProvider.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/GenericProvider.java index a82d2da2a6b..8a3ef58fde1 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/GenericProvider.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/GenericProvider.java @@ -12,10 +12,7 @@ import com.yahoo.search.searchchain.model.federation.FederationOptions; */ public class GenericProvider extends Provider implements ProviderConfig.Producer { - /* - * Config producer for the contained http searcher.. - */ - @SuppressWarnings("deprecation") + /** Config producer for the contained http searcher. */ public GenericProvider(ChainSpecification specWithoutInnerSearchers, FederationOptions federationOptions) { super(specWithoutInnerSearchers, federationOptions); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java index 4ecc666a9f2..cf3fd6ec3bd 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/LocalProvider.java @@ -41,9 +41,6 @@ public class LocalProvider extends Provider implements builder.clusterId(searchCluster.getClusterIndex()); builder.clusterName(searchCluster.getClusterName()); - if (providerSpec.cacheSize != null) - builder.cacheSize(providerSpec.cacheSize); - if (searchCluster.getVisibilityDelay() != null) builder.cacheTimeout(convertVisibilityDelay(searchCluster.getVisibilityDelay())); } @@ -140,13 +137,6 @@ public class LocalProvider extends Provider implements searchCluster.getConfig(builder); } - /** - * For backward compatibility only, do not use. - */ - public void setCacheSize(Integer cacheSize) { - providerSpec.cacheSize = cacheSize; - } - // The semantics of visibility delay in search is deactivating caches if the // delay is less than 1.0, in qrs the cache is deactivated if the delay is 0 // (or less). 1.0 seems a little arbitrary, so just doing the conversion diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java index 1520dffb695..eed8d728ae8 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChains.java @@ -21,7 +21,7 @@ public class SearchChains extends Chains<SearchChain> { private final SourceGroupRegistry sourceGroups = new SourceGroupRegistry(); - public SearchChains(AbstractConfigProducer parent, String subId) { + public SearchChains(AbstractConfigProducer<?> parent, String subId) { super(parent, subId); } @@ -29,7 +29,7 @@ public class SearchChains extends Chains<SearchChain> { LocalClustersCreator.addDefaultLocalProviders(this, searchClustersByName.keySet()); VespaSearchChainsCreator.addVespaSearchChains(this); - validateSourceGroups(); //must be done before initializing searchers since they are used by FederationSearchers + validateSourceGroups(); // must be done before initializing searchers since they are used by FederationSearchers initializeComponents(searchClustersByName); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/defaultsearchchains/LocalClustersCreator.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/defaultsearchchains/LocalClustersCreator.java index a1b14017743..2f699f84623 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/defaultsearchchains/LocalClustersCreator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/defaultsearchchains/LocalClustersCreator.java @@ -12,6 +12,7 @@ import com.yahoo.vespa.model.container.search.searchchain.SearchChains; import java.util.Collections; import java.util.LinkedHashSet; +import java.util.List; import java.util.Set; /** @@ -19,17 +20,18 @@ import java.util.Set; * @author Tony Vaagenes */ public class LocalClustersCreator { + static ChainSpecification emptySearchChainSpecification(String componentName) { - return new ChainSpecification( - new ComponentId(componentName), - VespaSearchChainsCreator.inheritsVespaPhases(), //TODO: refactor - Collections.<Phase>emptyList(), - Collections.<ComponentSpecification>emptySet()); + return new ChainSpecification(new ComponentId(componentName), + VespaSearchChainsCreator.inheritsVespaPhases(), //TODO: refactor + List.of(), + Set.of()); } static LocalProvider createDefaultLocalProvider(String clusterName) { - return new LocalProvider(emptySearchChainSpecification(clusterName), new FederationOptions(), - new LocalProviderSpec(clusterName, null)); + return new LocalProvider(emptySearchChainSpecification(clusterName), + new FederationOptions(), + new LocalProviderSpec(clusterName)); } static Set<String> presentClusters(SearchChains searchChains) { @@ -48,4 +50,5 @@ public class LocalClustersCreator { searchChains.add(createDefaultLocalProvider(clusterName)); } } + } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/defaultsearchchains/VespaSearchChainsCreator.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/defaultsearchchains/VespaSearchChainsCreator.java index 7d53adbb233..a277b6e6b2f 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/defaultsearchchains/VespaSearchChainsCreator.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/defaultsearchchains/VespaSearchChainsCreator.java @@ -17,13 +17,15 @@ import java.util.*; /** * Creates the search chains vespaPhases, vespa and native. * - * <p>TODO: refactor</p> * @author Tony Vaagenes */ +// TODO: refactor public class VespaSearchChainsCreator { + private static class PhasesCreator { + private static Set<String> set(String successor) { - return successor == null ? null : new LinkedHashSet<>(Arrays.asList(successor)); + return successor == null ? null : new LinkedHashSet<>(List.of(successor)); } private static String lastElement(String[] phases) { @@ -83,35 +85,30 @@ public class VespaSearchChainsCreator { } } - private static ChainSpecification nativeSearchChainSpecification() { - return new ChainSpecification( - new ComponentId("native"), - inheritsVespaPhases(), - noPhases(), - noSearcherReferences()); + return new ChainSpecification(new ComponentId("native"), + inheritsVespaPhases(), + noPhases(), + noSearcherReferences()); } private static ChainSpecification vespaSearchChainSpecification() { - return new ChainSpecification( - new ComponentId("vespa"), - inherits(nativeSearchChainSpecification().componentId), - noPhases(), - noSearcherReferences()); + return new ChainSpecification(new ComponentId("vespa"), + inherits(nativeSearchChainSpecification().componentId), + noPhases(), + noSearcherReferences()); } - private static ChainSpecification vespaPhasesSpecification() { - return new ChainSpecification( - new ComponentId("vespaPhases"), - new ChainSpecification.Inheritance(null, null), - PhasesCreator.linearPhases( - PhaseNames.RAW_QUERY, - PhaseNames.TRANSFORMED_QUERY, - PhaseNames.BLENDED_RESULT, - PhaseNames.UNBLENDED_RESULT, - PhaseNames.BACKEND), - noSearcherReferences()); + return new ChainSpecification(new ComponentId("vespaPhases"), + new ChainSpecification.Inheritance(null, null), + PhasesCreator.linearPhases( + PhaseNames.RAW_QUERY, + PhaseNames.TRANSFORMED_QUERY, + PhaseNames.BLENDED_RESULT, + PhaseNames.UNBLENDED_RESULT, + PhaseNames.BACKEND), + noSearcherReferences()); } private static SearchChain createVespaPhases() { @@ -131,11 +128,9 @@ public class VespaSearchChainsCreator { } public static void addVespaSearchChains(SearchChains searchChains) { - searchChains.add( - createVespaPhases()); - searchChains.add( - createNative()); - searchChains.add( - createVespa()); + searchChains.add(createVespaPhases()); + searchChains.add(createNative()); + searchChains.add(createVespa()); } + } 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 73bb30bcc68..dc7b03b0064 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 @@ -513,7 +513,8 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { } private ContainerSearch buildSearch(DeployState deployState, ApplicationContainerCluster containerCluster, Element producerSpec) { - SearchChains searchChains = new DomSearchChainsBuilder(null, false).build(deployState, containerCluster, producerSpec); + SearchChains searchChains = new DomSearchChainsBuilder(null, false) + .build(deployState, containerCluster, producerSpec); ContainerSearch containerSearch = new ContainerSearch(containerCluster, searchChains, new ContainerSearch.Options()); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/ClusterControllerConfig.java b/config-model/src/main/java/com/yahoo/vespa/model/content/ClusterControllerConfig.java index 43ef37d311d..882e56b82a3 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/ClusterControllerConfig.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/ClusterControllerConfig.java @@ -16,7 +16,7 @@ import org.w3c.dom.Element; * * TODO: Author */ -public class ClusterControllerConfig extends AbstractConfigProducer implements FleetcontrollerConfig.Producer { +public class ClusterControllerConfig extends AbstractConfigProducer<ClusterControllerConfig> implements FleetcontrollerConfig.Producer { public static class Builder extends VespaDomBuilder.DomConfigProducerBuilder<ClusterControllerConfig> { String clusterName; @@ -28,7 +28,7 @@ public class ClusterControllerConfig extends AbstractConfigProducer implements F } @Override - protected ClusterControllerConfig doBuild(DeployState deployState, AbstractConfigProducer ancestor, Element producerSpec) { + protected ClusterControllerConfig doBuild(DeployState deployState, AbstractConfigProducer<?> ancestor, Element producerSpec) { ModelElement tuning = null; ModelElement clusterTuning = clusterElement.child("tuning"); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java index 11e6301c4b2..79b98837238 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java @@ -42,7 +42,7 @@ import static java.util.stream.Collectors.toList; * Encapsulates the various options for search in a content model. * Wraps a search cluster from com.yahoo.vespa.model.search. */ -public class ContentSearchCluster extends AbstractConfigProducer implements ProtonConfig.Producer, DispatchConfig.Producer { +public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster> implements ProtonConfig.Producer, DispatchConfig.Producer { private final boolean flushOnShutdown; @@ -88,7 +88,7 @@ public class ContentSearchCluster extends AbstractConfigProducer implements Prot } @Override - protected ContentSearchCluster doBuild(DeployState deployState, AbstractConfigProducer ancestor, Element producerSpec) { + protected ContentSearchCluster doBuild(DeployState deployState, AbstractConfigProducer<?> ancestor, Element producerSpec) { ModelElement clusterElem = new ModelElement(producerSpec); String clusterName = ContentCluster.getClusterId(clusterElem); Boolean flushOnShutdownElem = clusterElem.childAsBoolean("engine.proton.flush-on-shutdown"); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomModuleBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomModuleBuilder.java index 212363c6667..63b5dc293ab 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomModuleBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomModuleBuilder.java @@ -12,6 +12,7 @@ import org.w3c.dom.Element; * Produces sub services for generic services. */ public class DomModuleBuilder extends VespaDomBuilder.DomConfigProducerBuilder<Module> { + private final String name; public DomModuleBuilder(String name) { @@ -25,7 +26,7 @@ public class DomModuleBuilder extends VespaDomBuilder.DomConfigProducerBuilder<M } @Override - protected Module doBuild(DeployState deployState, AbstractConfigProducer ancestor, Element subServiceSpec) { + protected Module doBuild(DeployState deployState, AbstractConfigProducer<?> ancestor, Element subServiceSpec) { Module s = new Module(ancestor, name); addChildren(deployState, s, subServiceSpec); return s; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomServiceClusterBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomServiceClusterBuilder.java index 200a1d175a3..6aa6bc80754 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomServiceClusterBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomServiceClusterBuilder.java @@ -11,18 +11,17 @@ import java.util.Map; /** * @author Ulf Lilleengen -* @since 5.1 */ public class DomServiceClusterBuilder extends VespaDomBuilder.DomConfigProducerBuilder<ServiceCluster> { - private String name; + private final String name; public DomServiceClusterBuilder(String name) { this.name = name; } @Override - protected ServiceCluster doBuild(DeployState deployState, AbstractConfigProducer ancestor, Element spec) { + protected ServiceCluster doBuild(DeployState deployState, AbstractConfigProducer<?> ancestor, Element spec) { ServiceCluster cluster = new ServiceCluster(ancestor, name, spec.getAttribute("command")); int nodeIndex = 0; for (Element nodeSpec : XML.getChildren(spec, "node")) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/Module.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/service/Module.java index 5c81f50fd02..9b7d9d65b74 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/Module.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/generic/service/Module.java @@ -10,9 +10,9 @@ import com.yahoo.config.model.producer.AbstractConfigProducer; * * @author Ulf Lilleengen */ -public class Module extends AbstractConfigProducer { +public class Module extends AbstractConfigProducer<Module> { - public Module(AbstractConfigProducer parent, String subId) { + public Module(AbstractConfigProducer<?> parent, String subId) { super(parent, subId); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/ServiceCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/service/ServiceCluster.java index 7d304968bc7..e71459723a1 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/ServiceCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/generic/service/ServiceCluster.java @@ -12,14 +12,14 @@ import java.util.Collection; * @author vegardh * */ -public class ServiceCluster extends AbstractConfigProducer { +public class ServiceCluster extends AbstractConfigProducer<ServiceCluster> { private static final long serialVersionUID = 1L; - private String command; - private String name; + private final String command; + private final String name; private HostSystem hostSystem; // A generic cluster can resolve hosts for its nodes - public ServiceCluster(AbstractConfigProducer parent, String name, String command) { + public ServiceCluster(AbstractConfigProducer<?> parent, String name, String command) { super(parent, name); this.command=command; this.name=name; |