summaryrefslogtreecommitdiffstats
path: root/config-model/src
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-08-30 17:02:05 +0200
committerGitHub <noreply@github.com>2022-08-30 17:02:05 +0200
commitc81780000ed7ca2be480f16e3d442e23f86bd808 (patch)
tree1fe8364f500755fdce33d80805ca22e4909905bb /config-model/src
parent106374aac1cc4ab9ac682b5a183b347460e8cdc1 (diff)
parent7455d58e8eeae70e8909964b9584a4e81e501bd4 (diff)
Merge pull request #23855 from vespa-engine/hmusum/cleanup-20
Cluster controller cleanup, part 7 [run-systemtest]
Diffstat (limited to 'config-model/src')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java27
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/FileStorProducer.java16
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/IntegrityCheckerProducer.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorServerProducer.java16
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorageCluster.java4
5 files changed, 30 insertions, 39 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 74017b6b821..bf5770681ef 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
@@ -117,20 +117,23 @@ public class ContentCluster extends AbstractConfigProducer<AbstractConfigProduce
RedundancyBuilder redundancyBuilder = new RedundancyBuilder(contentElement);
Set<NewDocumentType> globallyDistributedDocuments = new GlobalDistributionBuilder(documentDefinitions).build(documentsElement);
- ContentCluster c = new ContentCluster(context.getParentProducer(), getClusterId(contentElement), documentDefinitions,
+ String clusterId = getClusterId(contentElement);
+ ContentCluster c = new ContentCluster(context.getParentProducer(), clusterId, documentDefinitions,
globallyDistributedDocuments, routingSelection,
deployState.zone(), deployState.isHosted());
var resourceLimits = new ClusterResourceLimits.Builder(stateIsHosted(deployState),
deployState.featureFlags().resourceLimitDisk(),
deployState.featureFlags().resourceLimitMemory())
.build(contentElement);
- c.clusterControllerConfig = new ClusterControllerConfig.Builder(getClusterId(contentElement),
- contentElement,
- resourceLimits.getClusterControllerLimits()).build(deployState, c, contentElement.getXml());
+ c.clusterControllerConfig = new ClusterControllerConfig.Builder(clusterId,
+ contentElement,
+ resourceLimits.getClusterControllerLimits())
+ .build(deployState, c, contentElement.getXml());
c.search = new ContentSearchCluster.Builder(documentDefinitions,
- globallyDistributedDocuments,
- fractionOfMemoryReserved(getClusterId(contentElement), containers),
- resourceLimits.getContentNodeLimits()).build(deployState, c, contentElement.getXml());
+ globallyDistributedDocuments,
+ fractionOfMemoryReserved(clusterId, containers),
+ resourceLimits.getContentNodeLimits())
+ .build(deployState, c, contentElement.getXml());
c.persistenceFactory = new EngineFactoryBuilder().build(contentElement, c);
c.storageNodes = new StorageCluster.Builder().build(deployState, c, w3cContentElement);
c.distributorNodes = new DistributorCluster.Builder(c).build(deployState, c, w3cContentElement);
@@ -173,9 +176,8 @@ public class ContentCluster extends AbstractConfigProducer<AbstractConfigProduce
if (csc.hasIndexedCluster()) {
setupIndexedCluster(csc.getIndexed(), search, element, logger);
}
-
-
}
+
private void setupIndexedCluster(IndexedSearchCluster index, ContentSearch search, ModelElement element, DeployLogger logger) {
Double queryTimeout = search.getQueryTimeout();
if (queryTimeout != null) {
@@ -267,9 +269,8 @@ public class ContentCluster extends AbstractConfigProducer<AbstractConfigProduce
}
private void validateThatGroupSiblingsAreUnique(String cluster, StorageGroup group) {
- if (group == null) {
- return; // Unit testing case
- }
+ if (group == null) return; // Unit testing case
+
validateGroupSiblings(cluster, group);
for (StorageGroup g : group.getSubgroups()) {
validateThatGroupSiblingsAreUnique(cluster, g);
@@ -301,7 +302,7 @@ public class ContentCluster extends AbstractConfigProducer<AbstractConfigProduce
}
clusterControllers = admin.getClusterControllers();
}
- else { // self-hosted: Put cluser controller on config servers or use explicit cluster controllers
+ else { // self-hosted: Put cluster controller on config servers or use explicit cluster controllers
if (admin.getClusterControllers() == null) {
var hosts = admin.getConfigservers().stream().map(s -> s.getHostResource()).collect(toList());
if (hosts.size() > 1) {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/FileStorProducer.java b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/FileStorProducer.java
index fb4016f4cf4..ff905187969 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/FileStorProducer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/FileStorProducer.java
@@ -44,11 +44,11 @@ public class FileStorProducer implements StorFilestorConfig.Producer {
private final Integer numThreads;
private final ContentCluster cluster;
- private final int reponseNumThreads;
+ private final int responseNumThreads;
private final StorFilestorConfig.Response_sequencer_type.Enum responseSequencerType;
private final double persistenceThrottlingWsDecrementFactor;
private final double persistenceThrottlingWsBackoff;
- private final int persistenceThrottingWindowSize;
+ private final int persistenceThrottlingWindowSize;
private final double persistenceThrottlingWsResizeRate;
private final boolean persistenceThrottlingOfMergeFeedOps;
private final boolean useAsyncMessageHandlingOnSchedule;
@@ -64,11 +64,11 @@ public class FileStorProducer implements StorFilestorConfig.Producer {
public FileStorProducer(ModelContext.FeatureFlags featureFlags, ContentCluster parent, Integer numThreads) {
this.numThreads = numThreads;
this.cluster = parent;
- this.reponseNumThreads = featureFlags.defaultNumResponseThreads();
+ this.responseNumThreads = featureFlags.defaultNumResponseThreads();
this.responseSequencerType = convertResponseSequencerType(featureFlags.responseSequencerType());
this.persistenceThrottlingWsDecrementFactor = featureFlags.persistenceThrottlingWsDecrementFactor();
this.persistenceThrottlingWsBackoff = featureFlags.persistenceThrottlingWsBackoff();
- this.persistenceThrottingWindowSize = featureFlags.persistenceThrottlingWindowSize();
+ this.persistenceThrottlingWindowSize = featureFlags.persistenceThrottlingWindowSize();
this.persistenceThrottlingWsResizeRate = featureFlags.persistenceThrottlingWsResizeRate();
this.persistenceThrottlingOfMergeFeedOps = featureFlags.persistenceThrottlingOfMergeFeedOps();
this.useAsyncMessageHandlingOnSchedule = featureFlags.useAsyncMessageHandlingOnSchedule();
@@ -80,15 +80,15 @@ public class FileStorProducer implements StorFilestorConfig.Producer {
builder.num_threads(numThreads);
}
builder.enable_multibit_split_optimalization(cluster.getPersistence().enableMultiLevelSplitting());
- builder.num_response_threads(reponseNumThreads);
+ builder.num_response_threads(responseNumThreads);
builder.response_sequencer_type(responseSequencerType);
builder.use_async_message_handling_on_schedule(useAsyncMessageHandlingOnSchedule);
var throttleBuilder = new StorFilestorConfig.Async_operation_throttler.Builder();
throttleBuilder.window_size_decrement_factor(persistenceThrottlingWsDecrementFactor);
throttleBuilder.window_size_backoff(persistenceThrottlingWsBackoff);
- if (persistenceThrottingWindowSize > 0) {
- throttleBuilder.min_window_size(persistenceThrottingWindowSize);
- throttleBuilder.max_window_size(persistenceThrottingWindowSize);
+ if (persistenceThrottlingWindowSize > 0) {
+ throttleBuilder.min_window_size(persistenceThrottlingWindowSize);
+ throttleBuilder.max_window_size(persistenceThrottlingWindowSize);
}
throttleBuilder.resize_rate(persistenceThrottlingWsResizeRate);
throttleBuilder.throttle_individual_merge_feed_ops(persistenceThrottlingOfMergeFeedOps);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/IntegrityCheckerProducer.java b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/IntegrityCheckerProducer.java
index 588e7c55ab9..4f81bbf165f 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/IntegrityCheckerProducer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/IntegrityCheckerProducer.java
@@ -16,9 +16,9 @@ public class IntegrityCheckerProducer implements StorIntegritycheckerConfig.Prod
}
}
- private Integer startTime;
- private Integer stopTime;
- private String weeklyCycle;
+ private final Integer startTime;
+ private final Integer stopTime;
+ private final String weeklyCycle;
IntegrityCheckerProducer(Integer startTime, Integer stopTime, String weeklyCycle) {
this.startTime = startTime;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorServerProducer.java b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorServerProducer.java
index 2fca964a995..e66f2c48f26 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorServerProducer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorServerProducer.java
@@ -3,10 +3,8 @@ package com.yahoo.vespa.model.content.storagecluster;
import com.yahoo.config.model.api.ModelContext;
import com.yahoo.vespa.config.content.core.StorServerConfig;
-import com.yahoo.vespa.model.content.cluster.ContentCluster;
import com.yahoo.vespa.model.builder.xml.dom.ModelElement;
-
-import java.util.Optional;
+import com.yahoo.vespa.model.content.cluster.ContentCluster;
/**
* Serves config for stor-server for storage clusters (clusters of storage nodes).
@@ -28,11 +26,10 @@ public class StorServerProducer implements StorServerConfig.Producer {
}
}
- private String clusterName;
+ private final String clusterName;
private Integer maxMergesPerNode;
private Integer queueSize;
- private Integer bucketDBStripeBits;
- private StorServerConfig.Merge_throttling_policy.Type.Enum mergeThrottlingPolicyType;
+ private final StorServerConfig.Merge_throttling_policy.Type.Enum mergeThrottlingPolicyType;
private StorServerProducer setMaxMergesPerNode(Integer value) {
if (value != null) {
@@ -46,10 +43,6 @@ public class StorServerProducer implements StorServerConfig.Producer {
}
return this;
}
- private StorServerProducer setBucketDBStripeBits(Integer value) {
- bucketDBStripeBits = value;
- return this;
- }
private static StorServerConfig.Merge_throttling_policy.Type.Enum toThrottlePolicyType(String policyType) {
try {
@@ -80,9 +73,6 @@ public class StorServerProducer implements StorServerConfig.Producer {
if (queueSize != null) {
builder.max_merge_queue_size(queueSize);
}
- if (bucketDBStripeBits != null) {
- builder.content_node_bucket_db_stripe_bits(bucketDBStripeBits);
- }
// TODO set throttle policy params based on existing or separate flags
builder.merge_throttling_policy(new StorServerConfig.Merge_throttling_policy.Builder().type(mergeThrottlingPolicyType));
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorageCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorageCluster.java
index a3f32fcb44b..da82a69842a 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorageCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorageCluster.java
@@ -30,7 +30,7 @@ public class StorageCluster extends AbstractConfigProducer<StorageNode>
{
public static class Builder extends VespaDomBuilder.DomConfigProducerBuilder<StorageCluster> {
@Override
- protected StorageCluster doBuild(DeployState deployState, AbstractConfigProducer ancestor, Element producerSpec) {
+ protected StorageCluster doBuild(DeployState deployState, AbstractConfigProducer<?> ancestor, Element producerSpec) {
final ModelElement clusterElem = new ModelElement(producerSpec);
final ContentCluster cluster = (ContentCluster)ancestor;
@@ -51,7 +51,7 @@ public class StorageCluster extends AbstractConfigProducer<StorageNode>
private final StorVisitorProducer storVisitorProducer;
private final PersistenceProducer persistenceProducer;
- StorageCluster(AbstractConfigProducer parent,
+ StorageCluster(AbstractConfigProducer<?> parent,
String clusterName,
FileStorProducer fileStorProducer,
IntegrityCheckerProducer integrityCheckerProducer,