summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-08-17 14:19:32 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2021-08-17 14:19:32 +0200
commit76192bb1bd49c25bb9f0f2f105e2e8d06ab23341 (patch)
treed5f7b731aa314419c88491de0063a7096f06ea7e /config-model
parent8a553fc87a1fffa0b2ce939a7ecbc9274c9e75fe (diff)
GC usages of fileSourceHost
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java1
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java5
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java11
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java5
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributionConfigProducer.java8
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributionConfigProvider.java13
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributor.java10
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java4
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java3
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/filedistribution/FileDistributorTestCase.java2
13 files changed, 14 insertions, 57 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java b/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java
index 3d3ebc90890..23ea5775caa 100644
--- a/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java
+++ b/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java
@@ -84,7 +84,6 @@ public class AdminModel extends ConfigModel {
AbstractConfigProducer<?> parent = modelContext.getParentProducer();
ModelContext.Properties properties = modelContext.getDeployState().getProperties();
DomAdminV2Builder domBuilder = new DomAdminV2Builder(modelContext.getApplicationType(),
- modelContext.getDeployState().getFileRegistry().fileSourceHost(),
properties.multitenant(),
properties.configServerSpecs());
model.admin = domBuilder.build(modelContext.getDeployState(), parent, adminElement);
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 12b6f902770..ad3e501d3f2 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;
- fileDistributor = new FileDistributor(deployState.getFileRegistry().fileSourceHost());
+ fileDistributor = new FileDistributor();
}
public FileDistributionConfigProducer getFileDistributionConfigProducer() {
@@ -149,8 +149,7 @@ public class MockRoot extends AbstractConfigProducerRoot {
try {
Document doc = XmlHelper.getDocumentBuilder().parse(new InputSource(new StringReader(servicesXml)));
- setAdmin(new DomAdminV2Builder(ConfigModelContext.ApplicationType.DEFAULT, deployState.getFileRegistry().fileSourceHost(),
- false, new ArrayList<>()).
+ setAdmin(new DomAdminV2Builder(ConfigModelContext.ApplicationType.DEFAULT, false, new ArrayList<>()).
build(deployState, this, XML.getChildren(doc.getDocumentElement(), "admin").get(0)));
} catch (SAXException | IOException e) {
throw new RuntimeException(e);
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 15377a95e3c..623ddcc6f6c 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
@@ -12,7 +12,6 @@ import com.yahoo.config.FileReference;
import com.yahoo.config.application.api.ApplicationFile;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.DeployLogger;
-import com.yahoo.config.application.api.FileRegistry;
import com.yahoo.config.application.api.ValidationId;
import com.yahoo.config.application.api.ValidationOverrides;
import com.yahoo.config.model.ApplicationConfigProducerRoot;
@@ -276,7 +275,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
/** Creates a mutable model with no services instantiated */
public static VespaModel createIncomplete(DeployState deployState) throws IOException, SAXException {
return new VespaModel(new NullConfigModelRegistry(), deployState, false,
- new FileDistributor(deployState.getFileRegistry().fileSourceHost()));
+ new FileDistributor());
}
private void validateWrapExceptions() {
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 48cdbac8814..464129a9920 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
@@ -290,17 +290,8 @@ public class Admin extends AbstractConfigProducer<Admin> implements Serializable
}
private void addFileDistribution(HostResource host) {
- FileDistributor fileDistributor = fileDistribution.getFileDistributor();
- HostResource hostResource = hostSystem().getHostByHostname(fileDistributor.fileSourceHost());
- if (hostResource == null && ! multitenant)
- throw new IllegalArgumentException("Could not find " + fileDistributor.fileSourceHost() +
- " in the application's " + hostSystem());
-
FileDistributionConfigProvider configProvider =
- new FileDistributionConfigProvider(fileDistribution,
- fileDistributor,
- false,
- host.getHost());
+ new FileDistributionConfigProvider(fileDistribution, fileDistribution.getFileDistributor(), host.getHost());
fileDistribution.addFileDistributionConfigProducer(host.getHost(), configProvider);
}
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 c2c8b8e86cb..4f69fde8ebd 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
@@ -38,15 +38,12 @@ public abstract class DomAdminBuilderBase extends VespaDomBuilder.DomConfigProdu
private final ApplicationType applicationType;
protected final List<ConfigServerSpec> configServerSpecs;
- private final String fileSourceHost;
protected final boolean multitenant;
DomAdminBuilderBase(ApplicationType applicationType,
- String fileSourceHost,
boolean multitenant,
List<ConfigServerSpec> configServerSpecs) {
this.applicationType = applicationType;
- this.fileSourceHost = fileSourceHost;
this.multitenant = multitenant;
this.configServerSpecs = configServerSpecs;
}
@@ -82,7 +79,7 @@ public abstract class DomAdminBuilderBase extends VespaDomBuilder.DomConfigProdu
}
private FileDistributionConfigProducer getFileDistributionConfigProducer(AbstractConfigProducer<?> parent) {
- return new FileDistributionConfigProducer(parent, fileSourceHost);
+ return new FileDistributionConfigProducer(parent);
}
protected abstract void doBuildAdmin(DeployState deployState, Admin admin, Element adminE);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java
index ad24a324bbb..04c7db8e701 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java
@@ -32,10 +32,9 @@ public class DomAdminV2Builder extends DomAdminBuilderBase {
private static final String ATTRIBUTE_CLUSTER_CONTROLLER_STANDALONE_ZK = "standalone-zookeeper";
public DomAdminV2Builder(ConfigModelContext.ApplicationType applicationType,
- String fileSourceHost,
boolean multitenant,
List<ConfigServerSpec> configServerSpecs) {
- super(applicationType, fileSourceHost, multitenant, configServerSpecs);
+ super(applicationType, multitenant, configServerSpecs);
}
@Override
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
index ae54e9fecc4..c836c5557ea 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
@@ -36,8 +36,7 @@ public class DomAdminV4Builder extends DomAdminBuilderBase {
public DomAdminV4Builder(ConfigModelContext context, boolean multitenant, List<ConfigServerSpec> configServerSpecs,
Collection<ContainerModel> containerModels) {
- super(context.getApplicationType(), context.getDeployState().getFileRegistry().fileSourceHost(), multitenant,
- configServerSpecs);
+ super(context.getApplicationType(), multitenant, configServerSpecs);
this.containerModels = containerModels;
this.context = context;
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributionConfigProducer.java b/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributionConfigProducer.java
index d29a2611ac7..9c7c6f650a6 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributionConfigProducer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributionConfigProducer.java
@@ -17,13 +17,9 @@ public class FileDistributionConfigProducer extends AbstractConfigProducer<Abstr
private final Map<Host, FileDistributionConfigProvider> fileDistributionConfigProviders = new IdentityHashMap<>();
private final FileDistributor fileDistributor;
- public FileDistributionConfigProducer(AbstractConfigProducer<?> ancestor, String fileSourceHost) {
- this(ancestor, new FileDistributor(fileSourceHost));
- }
-
- private FileDistributionConfigProducer(AbstractConfigProducer<?> parent, FileDistributor fileDistributor) {
+ public FileDistributionConfigProducer(AbstractConfigProducer<?> parent) {
super(parent, "filedistribution");
- this.fileDistributor = fileDistributor;
+ this.fileDistributor = new FileDistributor();
}
public FileDistributor getFileDistributor() {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributionConfigProvider.java b/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributionConfigProvider.java
index 47ee546181a..ad477a55584 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributionConfigProvider.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributionConfigProvider.java
@@ -14,16 +14,13 @@ public class FileDistributionConfigProvider extends AbstractConfigProducer
implements FiledistributorrpcConfig.Producer, FilereferencesConfig.Producer {
private final FileDistributor fileDistributor;
- private final boolean sendAllFiles;
private final Host host;
public FileDistributionConfigProvider(AbstractConfigProducer parent,
FileDistributor fileDistributor,
- boolean sendAllFiles,
Host host) {
super(parent, host.getHostname());
this.fileDistributor = fileDistributor;
- this.sendAllFiles = sendAllFiles;
this.host = host;
}
@@ -34,16 +31,8 @@ public class FileDistributionConfigProvider extends AbstractConfigProducer
@Override
public void getConfig(FilereferencesConfig.Builder builder) {
- for (FileReference reference : getFileReferences()) {
+ for (FileReference reference : fileDistributor.filesToSendToHost(host)) {
builder.filereferences(reference.value());
}
}
-
- private Collection<FileReference> getFileReferences() {
- if (sendAllFiles) {
- return fileDistributor.allFilesToSend();
- } else {
- return fileDistributor.filesToSendToHost(host);
- }
- }
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributor.java b/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributor.java
index b2e9cfeec85..ba306852d74 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributor.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/filedistribution/FileDistributor.java
@@ -20,14 +20,11 @@ import java.util.Set;
*/
public class FileDistributor {
- private final String fileSourceHost;
/** A map from file reference to the hosts to which that file reference should be distributed */
private final Map<FileReference, Set<Host>> filesToHosts = new LinkedHashMap<>();
- public FileDistributor(String fileSourceHost) {
- this.fileSourceHost = fileSourceHost;
- }
+ public FileDistributor() { }
public void sendFileReference(FileReference reference, Host host) {
filesToHosts.computeIfAbsent(reference, k -> new HashSet<>()).add(host);
@@ -52,11 +49,6 @@ public class FileDistributor {
return hosts;
}
- /** Returns the host which is the source of the files */
- public String fileSourceHost() {
- return fileSourceHost;
- }
-
public Set<FileReference> allFilesToSend() {
return Set.copyOf(filesToHosts.keySet());
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java
index e720238901b..3e87bdad1dc 100755
--- a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java
@@ -210,9 +210,7 @@ public class DomAdminV2BuilderTest extends DomBuilderTest {
private Admin buildAdmin(Element xml, boolean multitenant, List<ConfigServerSpec> configServerSpecs) {
DeployState deployState = DeployState.createTestState();
final DomAdminV2Builder domAdminBuilder =
- new DomAdminV2Builder(ConfigModelContext.ApplicationType.DEFAULT,
- deployState.getFileRegistry().fileSourceHost(), multitenant,
- configServerSpecs);
+ new DomAdminV2Builder(ConfigModelContext.ApplicationType.DEFAULT, multitenant, configServerSpecs);
Admin admin = domAdminBuilder.build(deployState, root, xml);
admin.addPerHostServices(root.hostSystem().getHosts(), deployState);
return admin;
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java b/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java
index 9a74c328dd8..10802dfc311 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/content/utils/ContentClusterUtils.java
@@ -9,7 +9,6 @@ import com.yahoo.config.model.provision.InMemoryProvisioner;
import com.yahoo.config.model.provision.SingleNodeProvisioner;
import com.yahoo.config.model.test.MockApplicationPackage;
import com.yahoo.config.model.test.MockRoot;
-import com.yahoo.net.HostName;
import com.yahoo.text.XML;
import com.yahoo.vespa.model.admin.Admin;
import com.yahoo.vespa.model.admin.monitoring.DefaultMonitoring;
@@ -60,7 +59,7 @@ public class ContentClusterUtils {
public static ContentCluster createCluster(String clusterXml, MockRoot root) {
Document doc = XML.getDocument(clusterXml);
Admin admin = new Admin(root, new DefaultMonitoring("vespa", 60), new Metrics(), false,
- new FileDistributionConfigProducer(root, HostName.getLocalhost()),
+ new FileDistributionConfigProducer(root),
root.getDeployState().isHosted());
ConfigModelContext context = ConfigModelContext.create(null, root.getDeployState(),
null,null, root, null);
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/filedistribution/FileDistributorTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/filedistribution/FileDistributorTestCase.java
index bd158aedea9..31b5308010a 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/filedistribution/FileDistributorTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/filedistribution/FileDistributorTestCase.java
@@ -22,7 +22,7 @@ public class FileDistributorTestCase {
public void fileDistributor() {
MockHosts hosts = new MockHosts();
FileRegistry fileRegistry = new MockFileRegistry();
- FileDistributor fileDistributor = new FileDistributor("mockhost");
+ FileDistributor fileDistributor = new FileDistributor();
String file1 = "component/path1";
String file2 = "component/path2";