diff options
Diffstat (limited to 'config-model')
5 files changed, 29 insertions, 27 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java index 181c4ec100a..a31574eea10 100644 --- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java +++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java @@ -37,7 +37,7 @@ public class TestProperties implements ModelContext.Properties { private Zone zone; private Set<ContainerEndpoint> endpoints = Collections.emptySet(); private boolean useDedicatedNodeForLogserver = false; - private boolean useDistributorBtreeDb = false; + private boolean useContentNodeBtreeDb = false; private boolean useThreePhaseUpdates = false; private double defaultTermwiseLimit = 1.0; private double threadPoolSizeFactor = 0.0; @@ -70,7 +70,7 @@ public class TestProperties implements ModelContext.Properties { @Override public double queueSizeFactor() { return queueSizeFactor; } - @Override public boolean useDistributorBtreeDb() { return useDistributorBtreeDb; } + @Override public boolean useContentNodeBtreeDb() { return useContentNodeBtreeDb; } @Override public boolean useThreePhaseUpdates() { return useThreePhaseUpdates; } @Override public Optional<AthenzDomain> athenzDomain() { return Optional.ofNullable(athenzDomain); } @Override public Optional<ApplicationRoles> applicationRoles() { return Optional.ofNullable(applicationRoles); } @@ -88,8 +88,8 @@ public class TestProperties implements ModelContext.Properties { return this; } - public TestProperties setUseDistributorBtreeDB(boolean useBtreeDb) { - useDistributorBtreeDb = useBtreeDb; + public TestProperties setUseContentNodeBtreeDB(boolean useBtreeDb) { + useContentNodeBtreeDb = useBtreeDb; return this; } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java index 0b6b7154a62..25e3efcb78f 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java @@ -41,7 +41,6 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl private final BucketSplitting bucketSplitting; private final GcOptions gc; private final boolean hasIndexedDocumentType; - private final boolean useBtreeDatabase; private final boolean useThreePhaseUpdates; public static class Builder extends VespaDomBuilder.DomConfigProducerBuilder<DistributorCluster> { @@ -103,25 +102,23 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl final ModelElement documentsNode = clusterElement.child("documents"); final GcOptions gc = parseGcOptions(documentsNode); final boolean hasIndexedDocumentType = clusterContainsIndexedDocumentType(documentsNode); - boolean useBtreeDb = deployState.getProperties().useDistributorBtreeDb(); boolean useThreePhaseUpdates = deployState.getProperties().useThreePhaseUpdates(); return new DistributorCluster(parent, new BucketSplitting.Builder().build(new ModelElement(producerSpec)), gc, - hasIndexedDocumentType, useBtreeDb, useThreePhaseUpdates); + hasIndexedDocumentType, useThreePhaseUpdates); } } private DistributorCluster(ContentCluster parent, BucketSplitting bucketSplitting, GcOptions gc, boolean hasIndexedDocumentType, - boolean useBtreeDatabase, boolean useThreePhaseUpdates) + boolean useThreePhaseUpdates) { super(parent, "distributor"); this.parent = parent; this.bucketSplitting = bucketSplitting; this.gc = gc; this.hasIndexedDocumentType = hasIndexedDocumentType; - this.useBtreeDatabase = useBtreeDatabase; this.useThreePhaseUpdates = useThreePhaseUpdates; } @@ -134,7 +131,6 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl } builder.enable_revert(parent.getPersistence().supportRevert()); builder.disable_bucket_activation(hasIndexedDocumentType == false); - builder.use_btree_database(useBtreeDatabase); builder.enable_metadata_only_fetch_phase_for_inconsistent_updates(useThreePhaseUpdates); bucketSplitting.getConfig(builder); 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 36e4554e610..9e4c9bde1e4 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 @@ -10,32 +10,36 @@ import com.yahoo.vespa.model.builder.xml.dom.ModelElement; */ public class StorServerProducer implements StorServerConfig.Producer { public static class Builder { - StorServerProducer build(ModelElement element) { + StorServerProducer build(ModelElement element, boolean useBtreeDatabase) { ModelElement tuning = element.child("tuning"); if (tuning == null) { - return new StorServerProducer(ContentCluster.getClusterId(element), null, null); + return new StorServerProducer(ContentCluster.getClusterId(element), null, null, useBtreeDatabase); } ModelElement merges = tuning.child("merges"); if (merges == null) { - return new StorServerProducer(ContentCluster.getClusterId(element), null, null); + return new StorServerProducer(ContentCluster.getClusterId(element), null, null, useBtreeDatabase); } return new StorServerProducer(ContentCluster.getClusterId(element), merges.integerAttribute("max-per-node"), - merges.integerAttribute("max-queue-size")); + merges.integerAttribute("max-queue-size"), + useBtreeDatabase); } } - private String clusterName; - private Integer maxMergesPerNode; - private Integer queueSize; + private final String clusterName; + private final Integer maxMergesPerNode; + private final Integer queueSize; + private final boolean useBtreeDatabase; - public StorServerProducer(String clusterName, Integer maxMergesPerNode, Integer queueSize) { + public StorServerProducer(String clusterName, Integer maxMergesPerNode, + Integer queueSize, boolean useBtreeDatabase) { this.clusterName = clusterName; this.maxMergesPerNode = maxMergesPerNode; this.queueSize = queueSize; + this.useBtreeDatabase = useBtreeDatabase; } @Override @@ -52,5 +56,6 @@ public class StorServerProducer implements StorServerConfig.Producer { if (queueSize != null) { builder.max_merge_queue_size(queueSize); } + builder.use_content_node_btree_bucket_db(useBtreeDatabase); } } 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 2e5594a001d..0a8abfbd3ad 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 @@ -33,12 +33,13 @@ public class StorageCluster extends AbstractConfigProducer<StorageNode> protected StorageCluster doBuild(DeployState deployState, AbstractConfigProducer ancestor, Element producerSpec) { final ModelElement clusterElem = new ModelElement(producerSpec); final ContentCluster cluster = (ContentCluster)ancestor; + boolean useContentNodeBtreeDb = deployState.getProperties().useContentNodeBtreeDb(); return new StorageCluster(ancestor, ContentCluster.getClusterId(clusterElem), new FileStorProducer.Builder().build(cluster, clusterElem), new IntegrityCheckerProducer.Builder().build(cluster, clusterElem), - new StorServerProducer.Builder().build(clusterElem), + new StorServerProducer.Builder().build(clusterElem, useContentNodeBtreeDb), new StorVisitorProducer.Builder().build(clusterElem), new PersistenceProducer.Builder().build(clusterElem)); } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java index 5b3c42df869..1f0ec0ea910 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java @@ -949,20 +949,20 @@ public class ContentClusterTest extends ContentBaseTest { verifyTopKProbabilityPropertiesControl(); } - private boolean resolveDistributorBtreeDbConfigWithFeatureFlag(boolean flagEnabledBtreeDb) { - VespaModel model = createEnd2EndOneNode(new TestProperties().setUseDistributorBtreeDB(flagEnabledBtreeDb)); + private boolean resolveContentNodeBtreeDbConfigWithFeatureFlag(boolean flagEnabledBtreeDb) { + VespaModel model = createEnd2EndOneNode(new TestProperties().setUseContentNodeBtreeDB(flagEnabledBtreeDb)); ContentCluster cc = model.getContentClusters().get("storage"); - var builder = new StorDistributormanagerConfig.Builder(); - cc.getDistributorNodes().getConfig(builder); + var builder = new StorServerConfig.Builder(); + cc.getStorageNodes().getConfig(builder); - return (new StorDistributormanagerConfig(builder)).use_btree_database(); + return (new StorServerConfig(builder)).use_content_node_btree_bucket_db(); } @Test - public void default_distributor_btree_usage_controlled_by_properties() { - assertFalse(resolveDistributorBtreeDbConfigWithFeatureFlag(false)); - assertTrue(resolveDistributorBtreeDbConfigWithFeatureFlag(true)); + public void default_content_node_btree_usage_controlled_by_properties() { + assertFalse(resolveContentNodeBtreeDbConfigWithFeatureFlag(false)); + assertTrue(resolveContentNodeBtreeDbConfigWithFeatureFlag(true)); } private boolean resolveThreePhaseUpdateConfigWithFeatureFlag(boolean flagEnableThreePhase) { |