aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java5
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java8
-rw-r--r--config/src/main/java/com/yahoo/vespa/config/JRTConnectionPool.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java4
4 files changed, 13 insertions, 5 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 daf426517b8..4ae9834b87f 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
@@ -77,7 +77,7 @@ public class AdminModel extends ConfigModel {
@Override
public void doBuild(AdminModel model, Element adminElement, ConfigModelContext modelContext) {
- if (modelContext.getDeployState().isHosted()) { // admin v2 is used on hosted: Build a default V4 instead
+ if (modelContext.getDeployState().isHosted()) { // admin v4 is used on hosted: Build a default V4 instead
new BuilderV4().doBuild(model, adminElement, modelContext);
return;
}
@@ -87,6 +87,7 @@ public class AdminModel extends ConfigModel {
properties.multitenant(),
properties.configServerSpecs());
model.admin = domBuilder.build(modelContext.getDeployState(), parent, adminElement);
+
// TODO: Is required since other models depend on admin.
if (parent instanceof ApplicationConfigProducerRoot) {
((ApplicationConfigProducerRoot)parent).setupAdmin(model.admin);
@@ -109,7 +110,7 @@ public class AdminModel extends ConfigModel {
@Override
public void doBuild(AdminModel model, Element adminElement, ConfigModelContext modelContext) {
- AbstractConfigProducer parent = modelContext.getParentProducer();
+ AbstractConfigProducer<?> parent = modelContext.getParentProducer();
ModelContext.Properties properties = modelContext.getDeployState().getProperties();
DomAdminV4Builder domBuilder = new DomAdminV4Builder(modelContext,
properties.multitenant(),
diff --git a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
index 1d00580f390..2fcb9632357 100644
--- a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
+++ b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
@@ -1617,8 +1617,12 @@ public class ModelProvisioningTest {
tester.addHosts(3);
VespaModel model = tester.createModel(xmlWithNodes, true);
- assertEquals("Nodes in container cluster", 1, model.getContainerClusters().get("container1").getContainers().size());
- assertEquals("Nodes in content cluster (downscaled)", 1, model.getContentClusters().get("content").getRootGroup().getNodes().size());
+ assertEquals("Nodes in container cluster", 1,
+ model.getContainerClusters().get("container1").getContainers().size());
+ assertEquals("Nodes in content cluster (downscaled)", 1,
+ model.getContentClusters().get("content").getRootGroup().getNodes().size());
+
+ assertEquals(1, model.getAdmin().getSlobroks().size());
model.getConfig(new StorStatusConfig.Builder(), "default");
StorageCluster storage = model.getContentClusters().get("content").getStorageCluster();
diff --git a/config/src/main/java/com/yahoo/vespa/config/JRTConnectionPool.java b/config/src/main/java/com/yahoo/vespa/config/JRTConnectionPool.java
index 048c82b1bde..14385cbc90e 100644
--- a/config/src/main/java/com/yahoo/vespa/config/JRTConnectionPool.java
+++ b/config/src/main/java/com/yahoo/vespa/config/JRTConnectionPool.java
@@ -41,6 +41,7 @@ public class JRTConnectionPool implements ConnectionPool {
}
public JRTConnectionPool(ConfigSourceSet sourceSet, Supervisor supervisor) {
+ if (sourceSet.getSources().isEmpty()) throw new IllegalArgumentException("sourceSet cannot be empty");
this.supervisor = supervisor;
this.poolName = supervisor.transport().getName();
addSources(sourceSet);
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java
index 78f61feed85..5314f95a5b9 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java
@@ -33,6 +33,7 @@ import static com.yahoo.vespa.config.server.filedistribution.FileDistributionUti
* @author gjoranv
*/
public class ApplicationPackageMaintainer extends ConfigServerMaintainer {
+
private static final Logger log = Logger.getLogger(ApplicationPackageMaintainer.class.getName());
private final ApplicationRepository applicationRepository;
@@ -40,7 +41,6 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer {
private final ConfigserverConfig configserverConfig;
private final Supervisor supervisor;
-
ApplicationPackageMaintainer(ApplicationRepository applicationRepository,
Curator curator,
Duration interval,
@@ -54,6 +54,8 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer {
@Override
protected double maintain() {
+ if (getOtherConfigServersInCluster(configserverConfig).isEmpty()) return 1.0; // Nothing to do
+
int attempts = 0;
int failures = 0;