summaryrefslogtreecommitdiffstats
path: root/config-model/src
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-01-19 21:15:33 +0100
committerJon Marius Venstad <venstad@gmail.com>2021-01-19 21:15:33 +0100
commit0e6a1372184df8e21dd969b791bf350617113cf9 (patch)
tree850e34f14b5a7295d4cfa93b1ecf0d4585a1a2f8 /config-model/src
parentfc87789a38c8b528e7d88608fdf360488628c220 (diff)
Make config copy conversion more clear
Diffstat (limited to 'config-model/src')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java39
1 files changed, 22 insertions, 17 deletions
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 def1d7cb59d..31656b59932 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
@@ -755,24 +755,29 @@ public class ContentCluster extends AbstractConfigProducer implements
@Override
public void getConfig(DistributionConfig.Builder builder) {
DistributionConfig.Cluster.Builder clusterBuilder = new DistributionConfig.Cluster.Builder();
+ StorDistributionConfig.Builder storDistributionBuilder = new StorDistributionConfig.Builder();
+ getConfig(storDistributionBuilder);
+ StorDistributionConfig config = storDistributionBuilder.build();
- if (redundancy() != null)
- clusterBuilder.redundancy(redundancy().effectiveFinalRedundancy());
-
- if (getRootGroup() != null)
- clusterBuilder.group(getRootGroup().getGroupStructureConfig().stream()
- .map(StorDistributionConfig.Group.Builder::build)
- .map(config -> new DistributionConfig.Cluster.Group.Builder()
- .index(config.index())
- .name(config.name())
- .capacity(config.capacity())
- .partitions(config.partitions())
- .nodes(config.nodes().stream()
- .map(node -> new DistributionConfig.Cluster.Group.Nodes.Builder()
- .index(node.index())
- .retired(node.retired()))
- .collect(toList())))
- .collect(toList()));
+ clusterBuilder.redundancy(config.redundancy());
+
+ for (StorDistributionConfig.Group group : config.group()) {
+ DistributionConfig.Cluster.Group.Builder groupBuilder = new DistributionConfig.Cluster.Group.Builder();
+ groupBuilder.index(group.index())
+ .name(group.name())
+ .capacity(group.capacity())
+ .partitions(group.partitions());
+
+ for (var node : group.nodes()) {
+ DistributionConfig.Cluster.Group.Nodes.Builder nodesBuilder = new DistributionConfig.Cluster.Group.Nodes.Builder();
+ nodesBuilder.index(node.index())
+ .retired(node.retired());
+
+ groupBuilder.nodes(nodesBuilder);
+ }
+
+ clusterBuilder.group(groupBuilder);
+ }
builder.cluster(getConfigId(), clusterBuilder);
}