summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-11-05 17:30:39 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2021-11-05 20:37:49 +0100
commitf8494afee15a5d9eb58c06ffbc63cec74f81b31c (patch)
tree0374ed0afb0184858fa99cff38f31c1fb33dbec2 /config-model/src/main/java/com
parent89d3340928b4d1014aebb3cc8919614fe3b3cf25 (diff)
Just fetch file references directly from fileregistry as there is no need to assiciate them with services.
Diffstat (limited to 'config-model/src/main/java/com')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/DistributableResource.java8
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/LargeRankExpressions.java6
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java7
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/RankingConstants.java6
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/Schema.java7
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java8
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java10
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/ConfigProducerRoot.java5
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java7
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ContainerModelEvaluation.java5
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/Content.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileReferencesRepository.java16
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/AbstractSearchCluster.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/utils/FileSender.java21
18 files changed, 15 insertions, 114 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java b/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java
index 6be829b6e49..b29ff1ee58b 100644
--- a/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java
+++ b/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java
@@ -66,7 +66,7 @@ public class MockRoot extends AbstractConfigProducerRoot {
super(rootConfigId);
hostSystem = new HostSystem(this, "hostsystem", deployState.getProvisioner(), deployState.getDeployLogger());
this.deployState = deployState;
- fileReferencesRepository = new FileReferencesRepository();
+ fileReferencesRepository = new FileReferencesRepository(deployState.getFileRegistry());
}
public FileDistributionConfigProducer getFileDistributionConfigProducer() {
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/DistributableResource.java b/config-model/src/main/java/com/yahoo/searchdefinition/DistributableResource.java
index 77133d9b03d..245288c283e 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/DistributableResource.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/DistributableResource.java
@@ -4,11 +4,8 @@ package com.yahoo.searchdefinition;
import com.yahoo.config.FileReference;
import com.yahoo.config.application.api.FileRegistry;
import com.yahoo.path.Path;
-import com.yahoo.vespa.model.AbstractService;
-import com.yahoo.vespa.model.utils.FileSender;
import java.nio.ByteBuffer;
-import java.util.Collection;
import java.util.Objects;
public class DistributableResource {
@@ -57,11 +54,6 @@ public class DistributableResource {
this.pathType = PathType.URI;
}
- /** Initiate sending of this constant to some services over file distribution */
- public void sendTo(Collection<? extends AbstractService> services) {
- FileSender.send(fileReference, services);
- }
-
public String getName() { return name; }
public String getFileName() { return path; }
public Path getFilePath() { return Path.fromString(path); }
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/LargeRankExpressions.java b/config-model/src/main/java/com/yahoo/searchdefinition/LargeRankExpressions.java
index c33400fdcc1..3fdea71da2c 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/LargeRankExpressions.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/LargeRankExpressions.java
@@ -2,9 +2,7 @@
package com.yahoo.searchdefinition;
import com.yahoo.config.application.api.FileRegistry;
-import com.yahoo.vespa.model.AbstractService;
-import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -37,8 +35,4 @@ public class LargeRankExpressions {
return Collections.unmodifiableMap(expressions);
}
- /** Initiate sending of these constants to some services over file distribution */
- public void sendTo(Collection<? extends AbstractService> services) {
- expressions.values().forEach(constant -> constant.sendTo(services));
- }
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java b/config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java
index e249fe59f14..c9c12100552 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java
@@ -2,9 +2,7 @@
package com.yahoo.searchdefinition;
import com.yahoo.config.application.api.FileRegistry;
-import com.yahoo.vespa.model.AbstractService;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -66,9 +64,4 @@ public class OnnxModels {
return Collections.unmodifiableMap(allModels);
}
- /** Initiate sending of these models to some services over file distribution */
- public void sendTo(Collection<? extends AbstractService> services) {
- asMap().values().forEach(model -> model.sendTo(services));
- }
-
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/RankingConstants.java b/config-model/src/main/java/com/yahoo/searchdefinition/RankingConstants.java
index 1e0eacaea16..5020e9a061c 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/RankingConstants.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/RankingConstants.java
@@ -2,9 +2,7 @@
package com.yahoo.searchdefinition;
import com.yahoo.config.application.api.FileRegistry;
-import com.yahoo.vespa.model.AbstractService;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -77,8 +75,4 @@ public class RankingConstants {
return Collections.unmodifiableMap(allConstants);
}
- /** Initiate sending of these constants to some services over file distribution */
- public void sendTo(Collection<? extends AbstractService> services) {
- asMap().values().forEach(constant -> constant.sendTo(services));
- }
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/Schema.java b/config-model/src/main/java/com/yahoo/searchdefinition/Schema.java
index 36d4ba9699e..512d908ce5b 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/Schema.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/Schema.java
@@ -21,7 +21,6 @@ import com.yahoo.searchdefinition.document.TemporaryImportedFields;
import com.yahoo.searchdefinition.document.annotation.SDAnnotationType;
import com.yahoo.vespa.documentmodel.DocumentSummary;
import com.yahoo.vespa.documentmodel.SummaryField;
-import com.yahoo.vespa.model.AbstractService;
import java.io.Reader;
import java.util.ArrayList;
@@ -219,12 +218,6 @@ public class Schema implements ImmutableSchema {
@Override
public OnnxModels onnxModels() { return onnxModels; }
- public void sendTo(Collection<? extends AbstractService> services) {
- rankingConstants.sendTo(services);
- largeRankExpressions.sendTo(services);
- onnxModels.sendTo(services);
- }
-
public Optional<TemporaryImportedFields> temporaryImportedFields() {
return temporaryImportedFields;
}
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java
index faee6d67dbf..3081637c975 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/RankProfileList.java
@@ -16,10 +16,8 @@ import com.yahoo.searchdefinition.Schema;
import com.yahoo.vespa.config.search.core.OnnxModelsConfig;
import com.yahoo.vespa.config.search.core.RankingConstantsConfig;
import com.yahoo.vespa.config.search.core.RankingExpressionsConfig;
-import com.yahoo.vespa.model.AbstractService;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -144,12 +142,6 @@ public class RankProfileList extends Derived implements RankProfilesConfig.Produ
return rankProfiles.get(name);
}
- public void sendTo(Collection<? extends AbstractService> services) {
- rankingConstants.sendTo(services);
- largeRankExpressions.sendTo(services);
- onnxModels.sendTo(services);
- }
-
@Override
public String getDerivedName() { return "rank-profiles"; }
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java b/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java
index fa510d15673..73b106ed393 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/AbstractService.java
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model;
-import com.yahoo.config.FileReference;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.model.api.PortInfo;
import com.yahoo.config.model.api.ServiceInfo;
@@ -453,15 +452,6 @@ public abstract class AbstractService extends AbstractConfigProducer<AbstractCon
return initialized;
}
- /**
- * Add the given file to the application's file distributor.
- *
- * @param reference file reference (hash)
- */
- public void send(FileReference reference) {
- getRoot().fileReferencesRepository().add(reference);
- }
-
/** The service HTTP port for health status */
public int getHealthPort() { return -1;}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/ConfigProducerRoot.java b/config-model/src/main/java/com/yahoo/vespa/model/ConfigProducerRoot.java
index 55bcadf4848..8c4b7fa23aa 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/ConfigProducerRoot.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/ConfigProducerRoot.java
@@ -4,7 +4,6 @@ package com.yahoo.vespa.model;
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.vespa.model.admin.Admin;
-import com.yahoo.vespa.model.filedistribution.FileReferencesRepository;
import java.util.Set;
@@ -37,9 +36,7 @@ public interface ConfigProducerRoot extends ConfigProducer {
* @param configId The config id
* @return A config instance of the given type
*/
- public <CONFIGTYPE extends ConfigInstance> CONFIGTYPE getConfig(Class<CONFIGTYPE> clazz, String configId);
-
- FileReferencesRepository fileReferencesRepository();
+ <CONFIGTYPE extends ConfigInstance> CONFIGTYPE getConfig(Class<CONFIGTYPE> clazz, String configId);
Admin getAdmin();
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 362b3f3a75c..d6c66a635d4 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
@@ -131,7 +131,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
/** The validation overrides of this. This is never null. */
private final ValidationOverrides validationOverrides;
- private final FileReferencesRepository fileReferencesRepository = new FileReferencesRepository();
+ private final FileReferencesRepository fileReferencesRepository;
private final Provisioned provisioned;
@@ -171,6 +171,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
throws IOException, SAXException {
super("vespamodel");
version = deployState.getVespaVersion();
+ fileReferencesRepository = new FileReferencesRepository(deployState.getFileRegistry());
rankingConstants = new RankingConstants(deployState.getFileRegistry(), Optional.empty());
validationOverrides = deployState.validationOverrides();
applicationPackage = deployState.getApplicationPackage();
@@ -384,9 +385,6 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
.collect(Collectors.toCollection(LinkedHashSet::new));
}
- @Override
- public FileReferencesRepository fileReferencesRepository() { return fileReferencesRepository; }
-
public Set<FileReference> fileReferences() { return fileReferencesRepository.allFileReferences(); }
/** Returns this models Vespa instance */
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 c9d41b7dc2d..c3897f49c44 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
@@ -114,15 +114,12 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat
@Override
protected void doPrepare(DeployState deployState) {
addAndSendApplicationBundles(deployState);
- if (modelEvaluation != null)
- modelEvaluation.prepare(containers);
sendUserConfiguredFiles(deployState);
}
private void addAndSendApplicationBundles(DeployState deployState) {
for (ComponentInfo component : deployState.getApplicationPackage().getComponentsInfo(deployState.getVespaVersion())) {
FileReference reference = deployState.getFileRegistry().addFile(component.getPathRelativeToAppDir());
- FileSender.send(reference, containers);
applicationBundles.add(reference);
}
}
@@ -166,7 +163,7 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat
return servletGroup.getComponentMap();
}
- public final void addServlet(Servlet servlet) {
+ public void addServlet(Servlet servlet) {
servletGroup.addComponent(servlet.getGlobalComponentId(), servlet);
}
@@ -282,7 +279,7 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat
this.mbusParams = mbusParams;
}
- public final void setMessageBusEnabled(boolean messageBusEnabled) { this.messageBusEnabled = messageBusEnabled; }
+ public void setMessageBusEnabled(boolean messageBusEnabled) { this.messageBusEnabled = messageBusEnabled; }
protected boolean messageBusEnabled() { return messageBusEnabled; }
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 b7d3a726aff..40df899c94d 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
@@ -12,7 +12,6 @@ import com.yahoo.vespa.model.container.component.Handler;
import com.yahoo.vespa.model.container.component.SystemBindingPattern;
import java.nio.file.Path;
-import java.util.List;
import java.util.Objects;
/**
@@ -45,10 +44,6 @@ public class ContainerModelEvaluation implements
cluster.addComponent(ContainerModelEvaluation.getHandler());
}
- public void prepare(List<ApplicationContainer> containers) {
- rankProfileList.sendTo(containers);
- }
-
@Override
public void getConfig(RankProfilesConfig.Builder builder) {
rankProfileList.getConfig(builder);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java b/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java
index 75043041c0f..533364d80c3 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java
@@ -179,7 +179,6 @@ public class Content extends ConfigModel {
s.setVespaMallocDebugStackTrace(cluster.getRootGroup().getVespaMallocDebugStackTrace().get());
}
}
- cluster.prepare();
}
private void setCpuSocketAffinity() {
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 917b1d42146..b8de1845834 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
@@ -74,10 +74,6 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster>
/** Whether the nodes of this cluster also hosts a container cluster in a hosted system */
private final boolean combined;
- public void prepare() {
- clusters.values().forEach(cluster -> cluster.prepareToDistributeFiles(getSearchNodes()));
- }
-
public static class Builder extends VespaDomBuilder.DomConfigProducerBuilder<ContentSearchCluster> {
private final Map<String, NewDocumentType> documentDefinitions;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java
index 1f65d239d18..0c0b2b80d79 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java
@@ -408,10 +408,6 @@ public class ContentCluster extends AbstractConfigProducer<AbstractConfigProduce
public ClusterSpec.Id id() { return ClusterSpec.Id.from(clusterId); }
- public void prepare() {
- search.prepare();
- }
-
public DistributionMode getDistributionMode() {
if (distributionMode != null) return distributionMode;
return getPersistence().getDefaultDistributionMode();
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileReferencesRepository.java b/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileReferencesRepository.java
index b2c0538e77b..ac5c456a7b1 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileReferencesRepository.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileReferencesRepository.java
@@ -2,9 +2,11 @@
package com.yahoo.vespa.model.filedistribution;
import com.yahoo.config.FileReference;
+import com.yahoo.config.application.api.FileRegistry;
import java.util.LinkedHashSet;
import java.util.Set;
+import java.util.stream.Collectors;
/**
* Keeps track of what files to send with file distribution
@@ -14,13 +16,13 @@ import java.util.Set;
*/
public class FileReferencesRepository {
- /** A set of file references that should be distributed */
- private final Set<FileReference> fileReferences = new LinkedHashSet<>();
+ private final FileRegistry fileRegistry;
+ public FileReferencesRepository(FileRegistry fileRegistry) {
+ this.fileRegistry = fileRegistry;
+ }
- public FileReferencesRepository() { }
-
- public void add(FileReference reference) { fileReferences.add(reference); }
-
- public Set<FileReference> allFileReferences() { return Set.copyOf(fileReferences); }
+ public Set<FileReference> allFileReferences() {
+ return fileRegistry.export().stream().map(e -> e.reference).collect(Collectors.toUnmodifiableSet());
+ }
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/AbstractSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/AbstractSearchCluster.java
index 82e8ecec543..19b1f39c87d 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/AbstractSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/AbstractSearchCluster.java
@@ -37,12 +37,6 @@ public abstract class AbstractSearchCluster extends AbstractConfigProducer<Abstr
this.index = index;
}
- public void prepareToDistributeFiles(List<SearchNode> backends) {
- for (SchemaSpec sds : localSDS) {
- sds.getSearchDefinition().getSearch().sendTo(backends);
- }
- }
-
public void addDocumentNames(NamedSchema searchDefinition) {
String dName = searchDefinition.getSearch().getDocument().getDocumentName().getName();
documentNames.add(dName);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/utils/FileSender.java b/config-model/src/main/java/com/yahoo/vespa/model/utils/FileSender.java
index f683db48e97..ad10e15930b 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/utils/FileSender.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/utils/FileSender.java
@@ -36,25 +36,6 @@ public class FileSender implements Serializable {
}
/**
- * Send the given file to all given services.
- *
- * @param fileReference The file reference to send.
- * @param services The services to send the file to.
- * @throws IllegalStateException if services is empty.
- */
- public static void send(FileReference fileReference, Collection<? extends AbstractService> services) {
- if (services.isEmpty()) {
- throw new IllegalStateException("No service instances. Probably a standalone cluster setting up <nodes> " +
- "using 'count' instead of <node> tags.");
- }
-
- for (AbstractService service : services) {
- // The same reference will be returned from each call.
- service.send(fileReference);
- }
- }
-
- /**
* Sends all user configured files for a producer to all given services.
*/
public <PRODUCER extends AbstractConfigProducer<?>> void sendUserConfiguredFiles(PRODUCER producer) {
@@ -149,9 +130,7 @@ public class FileSender implements Serializable {
String path = builder.getValue();
FileReference reference = sentFiles.get(path);
if (reference == null) {
-
reference = fileRegistry.addFile(path);
- send(reference, services);
sentFiles.put(path, reference);
}
builder.setValue(reference.value());