summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java20
1 files changed, 10 insertions, 10 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 68ae4d2b242..0119bced095 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
@@ -61,12 +61,14 @@ public class ContentCluster extends AbstractConfigProducer implements
MessagetyperouteselectorpolicyConfig.Producer,
BucketspacesConfig.Producer {
+ // TODO: Make private
private String documentSelection;
private ContentSearchCluster search;
private final boolean isHostedVespa;
private final Map<String, NewDocumentType> documentDefinitions;
private final Set<NewDocumentType> globallyDistributedDocuments;
- private boolean forceEnableMultipleBucketSpaces = false;
+ // Experimental flag (TODO: remove when feature is enabled by default)
+ private boolean enableMultipleBucketSpaces = false;
private com.yahoo.vespa.model.content.StorageGroup rootGroup;
private StorageCluster storageNodes;
private DistributorCluster distributorNodes;
@@ -248,7 +250,7 @@ public class ContentCluster extends AbstractConfigProducer implements
private void setupExperimental(ContentCluster cluster, ModelElement experimental) {
Boolean enableMultipleBucketSpaces = experimental.childAsBoolean("enable-multiple-bucket-spaces");
if (enableMultipleBucketSpaces != null) {
- cluster.forceEnableMultipleBucketSpaces = enableMultipleBucketSpaces;
+ cluster.enableMultipleBucketSpaces = enableMultipleBucketSpaces;
}
}
@@ -594,13 +596,13 @@ public class ContentCluster extends AbstractConfigProducer implements
builder.min_distributor_up_ratio(0);
builder.min_storage_up_ratio(0);
}
- builder.enable_multiple_bucket_spaces(true);
+ builder.enable_multiple_bucket_spaces(enableMultipleBucketSpaces);
// Telling the controller whether we actually _have_ global document types lets
// it selectively enable or disable constraints that aren't needed when these
// are not are present, even if full protocol and backend support is enabled
// for multiple bucket spaces. Basically, if you don't use it, you don't
// pay for it.
- builder.cluster_has_global_document_types(!globallyDistributedDocuments.isEmpty());
+ builder.cluster_has_global_document_types(enableMultipleBucketSpaces && !globallyDistributedDocuments.isEmpty());
}
@Override
@@ -644,7 +646,7 @@ public class ContentCluster extends AbstractConfigProducer implements
}
}
new ReservedDocumentTypeNameValidator().validate(documentDefinitions);
- new GlobalDistributionValidator().validate(documentDefinitions, globallyDistributedDocuments);
+ new GlobalDistributionValidator().validate(documentDefinitions, globallyDistributedDocuments, redundancy, enableMultipleBucketSpaces);
}
public static Map<String, Integer> METRIC_INDEX_MAP = new TreeMap<>();
@@ -725,13 +727,11 @@ public class ContentCluster extends AbstractConfigProducer implements
for (NewDocumentType docType : getDocumentDefinitions().values()) {
BucketspacesConfig.Documenttype.Builder docTypeBuilder = new BucketspacesConfig.Documenttype.Builder();
docTypeBuilder.name(docType.getName());
- String bucketSpace = (isGloballyDistributed(docType) ? GLOBAL_BUCKET_SPACE : DEFAULT_BUCKET_SPACE);
+ String bucketSpace = ((enableMultipleBucketSpaces && isGloballyDistributed(docType))
+ ? GLOBAL_BUCKET_SPACE : DEFAULT_BUCKET_SPACE);
docTypeBuilder.bucketspace(bucketSpace);
builder.documenttype(docTypeBuilder);
}
- // NOTE: this config is kept around to allow the use of multiple bucket spaces
- // on older versions of Vespa. It is for all intents and purposes a no-op in
- // newer versions where multiple bucket spaces are enabled by default.
- builder.enable_multiple_bucket_spaces(forceEnableMultipleBucketSpaces);
+ builder.enable_multiple_bucket_spaces(enableMultipleBucketSpaces);
}
}