diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-10-03 14:10:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-03 14:10:57 +0200 |
commit | 3c34951e3d5d6afe4f95c0f3eec23130cfa58a3e (patch) | |
tree | 43988ff1c480e0d5ce3495fad83e3d48ebf42a2c /config-model | |
parent | 34a575c8292deeefed1974ccc6ad89bab9587bee (diff) | |
parent | 539f5ecb83c1ce2a1c642adcb8bb3c2c4c9196e0 (diff) |
Merge pull request #7183 from vespa-engine/hmusum/avoid-keeping-deploy-state-alive
Avoid keeping DeployState alive longer than necessary
Diffstat (limited to 'config-model')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java | 20 |
1 files changed, 15 insertions, 5 deletions
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 37380b8e5be..1e41fc70104 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 @@ -3,12 +3,15 @@ package com.yahoo.vespa.model.builder.xml.dom; import com.yahoo.config.model.*; import com.yahoo.config.application.api.ApplicationPackage; +import com.yahoo.config.model.api.HostProvisioner; +import com.yahoo.config.model.deploy.DeployProperties; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.builder.xml.XmlHelper; import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.config.model.producer.UserConfigRepo; import com.yahoo.log.LogLevel; import com.yahoo.text.XML; +import com.yahoo.vespa.documentmodel.DocumentModel; import com.yahoo.vespa.model.*; import com.yahoo.vespa.model.builder.UserConfigBuilder; import com.yahoo.vespa.model.builder.VespaModelBuilder; @@ -214,21 +217,28 @@ public class VespaDomBuilder extends VespaModelBuilder { public static class DomRootBuilder extends VespaDomBuilder.DomConfigProducerBuilder<ApplicationConfigProducerRoot> { private final String name; - private final DeployState deployState; + private final DeployProperties deployProperties; + private final DocumentModel documentModel; + private final HostProvisioner provisioner; /** * @param name The name of the Vespa to create. Usually 'root' when there is only one. */ public DomRootBuilder(String name, DeployState deployState) { this.name = name; - this.deployState = deployState; + this.deployProperties = deployState.getProperties(); + this.documentModel = deployState.getDocumentModel(); + this.provisioner = deployState.getProvisioner(); } @Override protected ApplicationConfigProducerRoot doBuild(AbstractConfigProducer parent, Element producerSpec) { - ApplicationConfigProducerRoot root = new ApplicationConfigProducerRoot(parent, name, - deployState.getDocumentModel(), deployState.getProperties().vespaVersion(), deployState.getProperties().applicationId()); - root.setHostSystem(new HostSystem(root, "hosts", deployState.getProvisioner())); + ApplicationConfigProducerRoot root = new ApplicationConfigProducerRoot(parent, + name, + documentModel, + deployProperties.vespaVersion(), + deployProperties.applicationId()); + root.setHostSystem(new HostSystem(root, "hosts", provisioner)); new Client(root); return root; } |