summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-10-28 17:38:04 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-10-28 17:38:04 +0000
commitda3bcaee0309daad4ed9ab6f7f2bd56986302e35 (patch)
tree25e0881dbd6a4559bd4b2862f5008a13604d8db3
parent02785bc255415bb26aaf57be10b4261e2ce65bc8 (diff)
GC unused content bucket btree flag
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java3
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java7
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorServerProducer.java14
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorageCluster.java3
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java16
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java8
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java6
-rw-r--r--storage/src/vespa/storage/config/stor-server.def2
8 files changed, 9 insertions, 50 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
index fa4fee417fd..cffa17e7c9f 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
@@ -88,7 +88,8 @@ public interface ModelContext {
String tlsCompressionType();
double visibilityDelay();
- boolean useContentNodeBtreeDb();
+ // TODO(balder) Last used on 7.306
+ default boolean useContentNodeBtreeDb() { return true; }
boolean useThreePhaseUpdates();
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 7628af85b52..e1e2652b987 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
@@ -35,7 +35,6 @@ public class TestProperties implements ModelContext.Properties {
private Zone zone;
private final Set<ContainerEndpoint> endpoints = Collections.emptySet();
private boolean useDedicatedNodeForLogserver = false;
- private boolean useContentNodeBtreeDb = false;
private boolean useThreePhaseUpdates = false;
private boolean useDirectStorageApiRpc = false;
private boolean useFastValueTensorImplementation = false;
@@ -72,7 +71,6 @@ public class TestProperties implements ModelContext.Properties {
@Override public boolean useDedicatedNodeForLogserver() { return useDedicatedNodeForLogserver; }
@Override public Optional<EndpointCertificateSecrets> endpointCertificateSecrets() { return endpointCertificateSecrets; }
@Override public double defaultTermwiseLimit() { return defaultTermwiseLimit; }
- @Override public boolean useContentNodeBtreeDb() { return useContentNodeBtreeDb; }
@Override public boolean useThreePhaseUpdates() { return useThreePhaseUpdates; }
@Override public boolean useDirectStorageApiRpc() { return useDirectStorageApiRpc; }
@Override public boolean useFastValueTensorImplementation() { return useFastValueTensorImplementation; }
@@ -111,11 +109,6 @@ public class TestProperties implements ModelContext.Properties {
return this;
}
- public TestProperties setUseContentNodeBtreeDB(boolean useBtreeDb) {
- useContentNodeBtreeDb = useBtreeDb;
- return this;
- }
-
public TestProperties setUseThreePhaseUpdates(boolean useThreePhaseUpdates) {
this.useThreePhaseUpdates = useThreePhaseUpdates;
return this;
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 9e4c9bde1e4..cb8221e3ad6 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,36 +10,33 @@ import com.yahoo.vespa.model.builder.xml.dom.ModelElement;
*/
public class StorServerProducer implements StorServerConfig.Producer {
public static class Builder {
- StorServerProducer build(ModelElement element, boolean useBtreeDatabase) {
+ StorServerProducer build(ModelElement element) {
ModelElement tuning = element.child("tuning");
if (tuning == null) {
- return new StorServerProducer(ContentCluster.getClusterId(element), null, null, useBtreeDatabase);
+ return new StorServerProducer(ContentCluster.getClusterId(element), null, null);
}
ModelElement merges = tuning.child("merges");
if (merges == null) {
- return new StorServerProducer(ContentCluster.getClusterId(element), null, null, useBtreeDatabase);
+ return new StorServerProducer(ContentCluster.getClusterId(element), null, null);
}
return new StorServerProducer(ContentCluster.getClusterId(element),
merges.integerAttribute("max-per-node"),
- merges.integerAttribute("max-queue-size"),
- useBtreeDatabase);
+ merges.integerAttribute("max-queue-size"));
}
}
private final String clusterName;
private final Integer maxMergesPerNode;
private final Integer queueSize;
- private final boolean useBtreeDatabase;
public StorServerProducer(String clusterName, Integer maxMergesPerNode,
- Integer queueSize, boolean useBtreeDatabase) {
+ Integer queueSize) {
this.clusterName = clusterName;
this.maxMergesPerNode = maxMergesPerNode;
this.queueSize = queueSize;
- this.useBtreeDatabase = useBtreeDatabase;
}
@Override
@@ -56,6 +53,5 @@ 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 bacb22b0b89..b9fd26c45ff 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,13 +33,12 @@ 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(deployState.getProperties(), cluster, clusterElem),
new IntegrityCheckerProducer.Builder().build(cluster, clusterElem),
- new StorServerProducer.Builder().build(clusterElem, useContentNodeBtreeDb),
+ new StorServerProducer.Builder().build(clusterElem),
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 2ec82697f23..92e9ca43193 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
@@ -950,22 +950,6 @@ public class ContentClusterTest extends ContentBaseTest {
verifyTopKProbabilityPropertiesControl();
}
- private boolean resolveContentNodeBtreeDbConfigWithFeatureFlag(boolean flagEnabledBtreeDb) {
- VespaModel model = createEnd2EndOneNode(new TestProperties().setUseContentNodeBtreeDB(flagEnabledBtreeDb));
-
- ContentCluster cc = model.getContentClusters().get("storage");
- var builder = new StorServerConfig.Builder();
- cc.getStorageNodes().getConfig(builder);
-
- return (new StorServerConfig(builder)).use_content_node_btree_bucket_db();
- }
-
- @Test
- public void default_content_node_btree_usage_controlled_by_properties() {
- assertFalse(resolveContentNodeBtreeDbConfigWithFeatureFlag(false));
- assertTrue(resolveContentNodeBtreeDbConfigWithFeatureFlag(true));
- }
-
private boolean resolveThreePhaseUpdateConfigWithFeatureFlag(boolean flagEnableThreePhase) {
VespaModel model = createEnd2EndOneNode(new TestProperties().setUseThreePhaseUpdates(flagEnableThreePhase));
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
index 95b9ac433cf..fe67db4cfd7 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
@@ -147,7 +147,6 @@ public class ModelContextImpl implements ModelContext {
private final Set<ContainerEndpoint> endpoints;
private final boolean isBootstrap;
private final boolean isFirstTimeDeployment;
- private final boolean useContentNodeBtreeDb;
private final boolean useThreePhaseUpdates;
private final boolean useDirectStorageApiRpc;
private final boolean useFastValueTensorImplementation;
@@ -200,8 +199,6 @@ public class ModelContextImpl implements ModelContext {
this.endpointCertificateSecrets = endpointCertificateSecrets;
defaultTermwiseLimit = Flags.DEFAULT_TERM_WISE_LIMIT.bindTo(flagSource)
.with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
- useContentNodeBtreeDb = Flags.USE_CONTENT_NODE_BTREE_DB.bindTo(flagSource)
- .with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
useThreePhaseUpdates = Flags.USE_THREE_PHASE_UPDATES.bindTo(flagSource)
.with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
useDirectStorageApiRpc = Flags.USE_DIRECT_STORAGE_API_RPC.bindTo(flagSource)
@@ -287,11 +284,6 @@ public class ModelContextImpl implements ModelContext {
public double defaultTermwiseLimit() { return defaultTermwiseLimit; }
@Override
- public boolean useContentNodeBtreeDb() {
- return useContentNodeBtreeDb;
- }
-
- @Override
public boolean useThreePhaseUpdates() {
return useThreePhaseUpdates;
}
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
index 1d4cd21975d..51cdba196a8 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -149,12 +149,6 @@ public class Flags {
"Takes effect at redeployment",
ZONE_ID, APPLICATION_ID);
- public static final UnboundBooleanFlag USE_CONTENT_NODE_BTREE_DB = defineFeatureFlag(
- "use-content-node-btree-db", true,
- "Whether to use the new B-tree bucket database on the content node.",
- "Takes effect at restart of content node process",
- ZONE_ID, APPLICATION_ID);
-
public static final UnboundBooleanFlag USE_THREE_PHASE_UPDATES = defineFeatureFlag(
"use-three-phase-updates", false,
"Whether to enable the use of three-phase updates when bucket replicas are out of sync.",
diff --git a/storage/src/vespa/storage/config/stor-server.def b/storage/src/vespa/storage/config/stor-server.def
index e1446aa8ed1..cd940079a70 100644
--- a/storage/src/vespa/storage/config/stor-server.def
+++ b/storage/src/vespa/storage/config/stor-server.def
@@ -87,4 +87,4 @@ simulated_bucket_request_latency_msec int default=0
## If set, content node processes will use a B-tree backed bucket database implementation
## instead of the legacy Judy-based implementation.
-use_content_node_btree_bucket_db bool default=false restart
+use_content_node_btree_bucket_db bool default=true restart