aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-08-02 23:53:34 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-08-02 23:53:34 +0200
commit86f7e902095029f1a0febdc3ae2b7791432dd758 (patch)
tree330fa58ed42792c5d9aefe5fa617332b1f277830
parentd037a6230c6b57e893db6ab08a5aa69f22d25579 (diff)
Expose totalNodes and add at least one test for partitions config
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/Redundancy.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java3
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java12
3 files changed, 14 insertions, 2 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/Redundancy.java b/config-model/src/main/java/com/yahoo/vespa/model/content/Redundancy.java
index 0ff41019ae8..aa9b04d084d 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/Redundancy.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/Redundancy.java
@@ -32,6 +32,7 @@ public class Redundancy implements StorDistributionConfig.Producer, ProtonConfig
public int finalRedundancy() { return effectiveFinalRedundancy()/groups; }
public int readyCopies() { return effectiveReadyCopies()/groups; }
public int groups() { return groups; }
+ public int totalNodes() { return totalNodes; }
public int effectiveInitialRedundancy() { return Math.min(totalNodes, initialRedundancy * groups); }
public int effectiveFinalRedundancy() { return Math.min(totalNodes, finalRedundancy * groups); }
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
index ee82d0cd719..1d804ba3b27 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
@@ -378,13 +378,14 @@ public class IndexedSearchCluster extends SearchCluster
public void setMaxNodesDownPerFixedRow(int value) {
maxNodesDownPerFixedRow = value;
}
- int getSearchableCopies() {
+ public int getSearchableCopies() {
return searchableCopies;
}
public void setSearchableCopies(int searchableCopies) {
this.searchableCopies = searchableCopies;
}
+
public void setDispatchSpec(DispatchSpec dispatchSpec) {
if (dispatchSpec.getNumDispatchGroups() != null) {
this.dispatchSpec = new DispatchSpec.Builder().setGroups
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 578aa82376b..c7ee5188cd1 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
@@ -14,6 +14,7 @@ import com.yahoo.config.provision.Zone;
import com.yahoo.config.provisioning.FlavorsConfig;
import com.yahoo.container.core.ApplicationMetadataConfig;
import com.yahoo.search.config.QrStartConfig;
+import com.yahoo.vespa.config.search.core.PartitionsConfig;
import com.yahoo.vespa.config.search.core.ProtonConfig;
import com.yahoo.vespa.model.HostResource;
import com.yahoo.vespa.model.HostSystem;
@@ -991,6 +992,10 @@ public class ModelProvisioningTest {
" <admin version='3.0'>" +
" <nodes count='3'/>" + // Ignored
" </admin>" +
+ " <container version='1.0' id='container'>" +
+ " <search/>" +
+ " <nodes count='2'/>" +
+ " </container>" +
" <content version='1.0' id='bar'>" +
" <redundancy reply-after='8'>12</redundancy>" +
" <documents>" +
@@ -1002,7 +1007,7 @@ public class ModelProvisioningTest {
" </content>" +
"</services>";
- int numberOfHosts = 4;
+ int numberOfHosts = 6;
VespaModelTester tester = new VespaModelTester();
tester.addHosts(numberOfHosts);
VespaModel model = tester.createModel(services, false);
@@ -1013,6 +1018,7 @@ public class ModelProvisioningTest {
assertEquals(4, cluster.redundancy().effectiveFinalRedundancy());
assertEquals(4, cluster.redundancy().effectiveReadyCopies());
assertEquals(4, cluster.getSearch().getIndexed().getDispatchSpec().getGroups().size());
+ assertEquals(4, cluster.getSearch().getIndexed().getSearchableCopies());
assertFalse(cluster.getRootGroup().getPartitions().isPresent());
assertEquals(4, cluster.getRootGroup().getNodes().size());
assertEquals(0, cluster.getRootGroup().getSubgroups().size());
@@ -1025,6 +1031,10 @@ public class ModelProvisioningTest {
assertThat(cluster.getRootGroup().getNodes().get(2).getConfigId(), is("bar/storage/2"));
assertThat(cluster.getRootGroup().getNodes().get(3).getDistributionKey(), is(3));
assertThat(cluster.getRootGroup().getNodes().get(3).getConfigId(), is("bar/storage/3"));
+ PartitionsConfig.Builder partBuilder = new PartitionsConfig.Builder();
+ cluster.getSearch().getIndexed().getTLDs().get(0).getConfig(partBuilder);
+ PartitionsConfig partCFg = partBuilder.build();
+ assertEquals(4, partCFg.dataset(0).searchablecopies());
}
@Test