summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-11-12 16:02:51 +0100
committerGitHub <noreply@github.com>2020-11-12 16:02:51 +0100
commit98da29465fde68acdd0738445ec5707f88f3bb91 (patch)
tree90d6fd9da14a3e3d72828687c539a4cc00c99c33
parent10fa1084cf65b6b6b97636dc11805d746f2c939e (diff)
parent3ce981c11eba8882f977344a515c0a20a24c6f93 (diff)
Merge pull request #15319 from vespa-engine/hmusum/remove-dead-code
Remove dead code
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java56
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelController.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelRequestHandler.java18
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/model/SuperModelConfigProvider.java16
4 files changed, 26 insertions, 72 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
index b63497d64a0..acd4d705889 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
@@ -1,10 +1,10 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model;
import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModel;
+import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModels;
import com.yahoo.collections.Pair;
import com.yahoo.component.Version;
-import com.yahoo.config.ConfigBuilder;
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.ConfigInstance.Builder;
import com.yahoo.config.ConfigurationRuntimeException;
@@ -21,7 +21,6 @@ import com.yahoo.config.model.ConfigModelRepo;
import com.yahoo.config.model.NullConfigModelRegistry;
import com.yahoo.config.model.api.FileDistribution;
import com.yahoo.config.model.api.HostInfo;
-import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModels;
import com.yahoo.config.model.api.Model;
import com.yahoo.config.model.api.Provisioned;
import com.yahoo.config.model.deploy.DeployState;
@@ -30,32 +29,31 @@ import com.yahoo.config.model.producer.AbstractConfigProducerRoot;
import com.yahoo.config.model.producer.UserConfigRepo;
import com.yahoo.config.provision.AllocatedHosts;
import com.yahoo.config.provision.ClusterSpec;
-import java.util.logging.Level;
import com.yahoo.searchdefinition.RankProfile;
import com.yahoo.searchdefinition.RankProfileRegistry;
import com.yahoo.searchdefinition.RankingConstants;
import com.yahoo.searchdefinition.derived.AttributeFields;
import com.yahoo.searchdefinition.derived.RankProfileList;
import com.yahoo.searchdefinition.processing.Processing;
-import com.yahoo.vespa.model.InstanceResolver.PackagePrefix;
-import com.yahoo.vespa.model.container.ApplicationContainerCluster;
-import com.yahoo.vespa.model.container.search.QueryProfiles;
-import com.yahoo.vespa.model.ml.ConvertedModel;
import com.yahoo.vespa.config.ConfigDefinitionKey;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.ConfigPayload;
import com.yahoo.vespa.config.ConfigPayloadBuilder;
-import com.yahoo.vespa.config.GenericConfig;
+import com.yahoo.vespa.config.GenericConfig.GenericConfigBuilder;
+import com.yahoo.vespa.model.InstanceResolver.PackagePrefix;
import com.yahoo.vespa.model.admin.Admin;
import com.yahoo.vespa.model.builder.VespaModelBuilder;
import com.yahoo.vespa.model.builder.xml.dom.VespaDomBuilder;
import com.yahoo.vespa.model.clients.Clients;
+import com.yahoo.vespa.model.container.ApplicationContainerCluster;
import com.yahoo.vespa.model.container.ContainerModel;
+import com.yahoo.vespa.model.container.search.QueryProfiles;
import com.yahoo.vespa.model.content.Content;
import com.yahoo.vespa.model.content.cluster.ContentCluster;
import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProducer;
import com.yahoo.vespa.model.filedistribution.FileDistributor;
import com.yahoo.vespa.model.generic.service.ServiceCluster;
+import com.yahoo.vespa.model.ml.ConvertedModel;
import com.yahoo.vespa.model.ml.ModelName;
import com.yahoo.vespa.model.routing.Routing;
import com.yahoo.vespa.model.search.AbstractSearchCluster;
@@ -73,8 +71,10 @@ import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Optional;
import java.util.Set;
+import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;
@@ -88,7 +88,7 @@ import static com.yahoo.text.StringUtilities.quote;
* <p>
* The vespa model starts in an unfrozen state, where children can be added freely,
* but no structure dependent information can be used.
- * When frozen, structure dependent information(such as config id and controller) are
+ * When frozen, structure dependent information (such as config id) are
* made available, but no additional config producers can be added.
*
* @author gjoranv
@@ -178,8 +178,6 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
deployState.getImportedModels(),
deployState.getProperties());
-
-
HostSystem hostSystem = root.hostSystem();
if (complete) { // create a a completed, frozen model
configModelRepo.readConfigModels(deployState, this, builder, root, configModelRegistry);
@@ -346,7 +344,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
}
private static Builder newBuilder(Class<? extends ConfigInstance> configClass) throws ReflectiveOperationException {
- Class builderClazz = configClass.getClassLoader().loadClass(configClass.getName() + "$Builder");
+ Class<?> builderClazz = configClass.getClassLoader().loadClass(configClass.getName() + "$Builder");
return (Builder)builderClazz.getDeclaredConstructor().newInstance();
}
@@ -396,21 +394,14 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
* @return The payload as a list of strings
*/
@Override
- public ConfigPayload getConfig(ConfigKey configKey, com.yahoo.vespa.config.buildergen.ConfigDefinition targetDef) {
+ public ConfigPayload getConfig(ConfigKey<?> configKey, com.yahoo.vespa.config.buildergen.ConfigDefinition targetDef) {
+ Objects.requireNonNull(targetDef, "config definition cannot be null");
+
ConfigInstance.Builder builder = resolveToBuilder(configKey);
- // TODO: remove if-statement, the builder can never be null.
- if (builder != null) {
- log.log(Level.FINE, () -> "Found builder for " + configKey);
- ConfigPayload payload;
- InnerCNode innerCNode = targetDef != null ? targetDef.getCNode() : null;
- if (builder instanceof GenericConfig.GenericConfigBuilder) {
- payload = getConfigFromGenericBuilder(builder);
- } else {
- payload = getConfigFromBuilder(builder, innerCNode);
- }
- return (innerCNode != null) ? payload.applyDefaultsFromDef(innerCNode) : payload;
- }
- return null;
+ log.log(Level.FINE, () -> "Found builder for " + configKey);
+ InnerCNode innerCNode = targetDef.getCNode();
+ ConfigPayload payload = getConfigFromBuilder(builder, innerCNode);
+ return (innerCNode != null) ? payload.applyDefaultsFromDef(innerCNode) : payload;
}
/**
@@ -420,13 +411,14 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
* @return A new config builder with config from this model filled in,.
*/
private ConfigInstance.Builder resolveToBuilder(ConfigKey<?> key) {
- ConfigDefinitionKey defKey = new ConfigDefinitionKey(key);
- ConfigInstance.Builder builder = createBuilder(defKey);
+ ConfigInstance.Builder builder = createBuilder(new ConfigDefinitionKey(key));
getConfig(builder, key.getConfigId());
return builder;
}
private ConfigPayload getConfigFromBuilder(ConfigInstance.Builder builder, InnerCNode targetDef) {
+ if (builder instanceof GenericConfigBuilder) return ((GenericConfigBuilder) builder).getPayload();
+
try {
ConfigInstance instance = InstanceResolver.resolveToInstance(builder, targetDef);
log.log(Level.FINE, () -> "getConfigFromBuilder for builder " + builder.getClass().getName() + ", instance=" + instance);
@@ -441,10 +433,6 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
}
}
- private ConfigPayload getConfigFromGenericBuilder(ConfigBuilder builder) {
- return ((GenericConfig.GenericConfigBuilder) builder).getPayload();
- }
-
@Override
public Set<ConfigKey<?>> allConfigsProduced() {
Set<ConfigKey<?>> keySet = new LinkedHashSet<>();
@@ -474,7 +462,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
// TODO: Enable config compiler when configserver is using new API.
// ConfigCompiler compiler = new LazyConfigCompiler(Files.createTempDir());
// return compiler.compile(targetDef.generateClass()).newInstance();
- return new GenericConfig.GenericConfigBuilder(key, new ConfigPayloadBuilder());
+ return new GenericConfigBuilder(key, new ConfigPayloadBuilder());
}
Object i;
try {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelController.java b/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelController.java
index 73ee23e5c03..0bddd8d0637 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelController.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelController.java
@@ -1,10 +1,8 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server;
-import com.yahoo.config.ConfigInstance;
import com.yahoo.config.codegen.DefParser;
import com.yahoo.config.model.api.ConfigDefinitionRepo;
-import com.yahoo.config.provision.ApplicationId;
import com.yahoo.vespa.config.ConfigDefinitionKey;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.ConfigPayload;
@@ -70,8 +68,4 @@ public class SuperModelController {
long getGeneration() { return generation; }
- public <CONFIGTYPE extends ConfigInstance> CONFIGTYPE getConfig(Class<CONFIGTYPE> configClass, ApplicationId applicationId, String configId) {
- return model.getConfig(configClass, applicationId, configId);
- }
-
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelRequestHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelRequestHandler.java
index aa06c07f8af..9c2c070f483 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelRequestHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelRequestHandler.java
@@ -1,10 +1,9 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server;
import com.google.inject.Inject;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.component.Version;
-import com.yahoo.config.ConfigInstance;
import com.yahoo.config.FileReference;
import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.config.provision.ApplicationId;
@@ -16,7 +15,6 @@ import com.yahoo.vespa.config.server.rpc.ConfigResponseFactory;
import java.util.Optional;
import java.util.Set;
-import java.util.logging.Level;
/**
* Handles request for supermodel config.
@@ -25,7 +23,6 @@ import java.util.logging.Level;
*/
public class SuperModelRequestHandler implements RequestHandler {
- private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(SuperModelRequestHandler.class.getName());
private volatile SuperModelController handler;
private final ConfigDefinitionRepo configDefinitionRepo;
private final ConfigResponseFactory responseFactory;
@@ -73,18 +70,7 @@ public class SuperModelRequestHandler implements RequestHandler {
@Override
public ConfigResponse resolveConfig(ApplicationId appId, GetConfigRequest req, Optional<Version> vespaVersion) {
- log.log(Level.FINE, () -> "SuperModelRequestHandler resolving " + req + " for app id '" + appId + "'");
- if (handler != null) {
- ConfigResponse configResponse = handler.resolveConfig(req);
- log.log(Level.FINE, () -> "SuperModelRequestHandler returning response for config " + req +
- " with generation " + configResponse.getGeneration());
- return configResponse;
- }
- return null;
- }
-
- public <CONFIGTYPE extends ConfigInstance> CONFIGTYPE getConfig(Class<CONFIGTYPE> configClass, ApplicationId applicationId, String configId) {
- return handler.getConfig(configClass, applicationId, configId);
+ return (handler == null) ? null : handler.resolveConfig(req);
}
@Override
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/model/SuperModelConfigProvider.java b/configserver/src/main/java/com/yahoo/vespa/config/server/model/SuperModelConfigProvider.java
index c51690cd3a8..7c8a34be4d8 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/model/SuperModelConfigProvider.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/model/SuperModelConfigProvider.java
@@ -1,8 +1,7 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.model;
import com.yahoo.cloud.config.LbServicesConfig;
-import com.yahoo.config.ConfigInstance;
import com.yahoo.config.ConfigurationRuntimeException;
import com.yahoo.config.model.api.ApplicationInfo;
import com.yahoo.config.model.api.SuperModel;
@@ -52,17 +51,4 @@ public class SuperModelConfigProvider implements LbServicesConfig.Producer {
lbProd.getConfig(builder);
}
- public <CONFIGTYPE extends ConfigInstance> CONFIGTYPE getConfig(Class<CONFIGTYPE> configClass,
- ApplicationId applicationId,
- String configId) {
- Map<ApplicationId, ApplicationInfo> models = superModel.getModels();
- if (!models.containsKey(applicationId)) {
- throw new IllegalArgumentException("Application " + applicationId + " not found");
- }
- ApplicationInfo application = models.get(applicationId);
- ConfigKey<CONFIGTYPE> key = new ConfigKey<>(configClass, configId);
- ConfigPayload payload = application.getModel().getConfig(key, null);
- return payload.toInstance(configClass, configId);
- }
-
}