aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-05-19 13:17:04 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-05-19 13:17:04 +0000
commit813a5e53a49a00ab04cd2b3c1666c37e08acac4e (patch)
treed983f8a5ecd79e702d80d9252dc4f8431266cafe
parent69b3bbee1cd90ec5836d5ef1fd06e80072acd450 (diff)
Async put, update and remove are now default in the backend.
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java4
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java16
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/FileStorProducer.java11
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/StorageCluster.java2
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/StorageClusterTest.java8
-rw-r--r--configdefinitions/src/vespa/stor-filestor.def2
-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
8 files changed, 13 insertions, 44 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 33369727703..bc22e90d229 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
@@ -69,8 +69,8 @@ public interface ModelContext {
// TODO Revisit in May or June 2020
double defaultTermwiseLimit();
- // TODO Revisit in May or June 2020
- int defaultNumResponseThreads();
+ // TODO Remove when 7.225 is last
+ default int defaultNumResponseThreads() { return 1; }
// TODO Revisit in May or June 2020
double threadPoolSizeFactor();
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 54630426cb8..b815b72f851 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
@@ -36,8 +36,6 @@ public class TestProperties implements ModelContext.Properties {
private boolean hostedVespa = false;
private Zone zone;
private Set<ContainerEndpoint> endpoints = Collections.emptySet();
- private boolean isBootstrap = false;
- private boolean isFirstTimeDeployment = false;
private boolean useDedicatedNodeForLogserver = false;
private boolean useAdaptiveDispatch = false;
private double topKProbability = 1.0;
@@ -47,7 +45,6 @@ public class TestProperties implements ModelContext.Properties {
private double softStartSeconds = 0.0;
private double threadPoolSizeFactor = 0.0;
private double queueSizeFactor = 0.0;
- private int defaultNumResponseThreads = 0;
private Optional<EndpointCertificateSecrets> endpointCertificateSecrets = Optional.empty();
private AthenzDomain athenzDomain;
private ApplicationRoles applicationRoles;
@@ -62,8 +59,8 @@ public class TestProperties implements ModelContext.Properties {
@Override public Zone zone() { return zone; }
@Override public Set<ContainerEndpoint> endpoints() { return endpoints; }
- @Override public boolean isBootstrap() { return isBootstrap; }
- @Override public boolean isFirstTimeDeployment() { return isFirstTimeDeployment; }
+ @Override public boolean isBootstrap() { return false; }
+ @Override public boolean isFirstTimeDeployment() { return false; }
@Override public boolean useAdaptiveDispatch() { return useAdaptiveDispatch; }
@Override public boolean useDedicatedNodeForLogserver() { return useDedicatedNodeForLogserver; }
@Override public Optional<EndpointCertificateSecrets> endpointCertificateSecrets() { return endpointCertificateSecrets; }
@@ -84,10 +81,6 @@ public class TestProperties implements ModelContext.Properties {
return softStartSeconds;
}
- @Override public int defaultNumResponseThreads() {
- return defaultNumResponseThreads;
- }
-
@Override public double defaultTopKProbability() { return topKProbability; }
@Override public boolean useDistributorBtreeDb() { return useDistributorBtreeDb; }
@Override public boolean useThreePhaseUpdates() { return useThreePhaseUpdates; }
@@ -109,11 +102,6 @@ public class TestProperties implements ModelContext.Properties {
return this;
}
- public TestProperties setDefaultNumResponseThreads(int numResponseThreads) {
- defaultNumResponseThreads = numResponseThreads;
- 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/FileStorProducer.java b/config-model/src/main/java/com/yahoo/vespa/model/content/storagecluster/FileStorProducer.java
index 76c05d4028a..eaefa8ea35f 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
@@ -11,8 +11,8 @@ import com.yahoo.vespa.model.content.cluster.ContentCluster;
public class FileStorProducer implements StorFilestorConfig.Producer {
public static class Builder {
- protected FileStorProducer build(ContentCluster parent, Integer numResponseThreads, ModelElement clusterElem) {
- return new FileStorProducer(parent, getThreads(clusterElem), numResponseThreads);
+ protected FileStorProducer build(ContentCluster parent, ModelElement clusterElem) {
+ return new FileStorProducer(parent, getThreads(clusterElem));
}
private Integer getThreads(ModelElement clusterElem) {
@@ -43,12 +43,10 @@ public class FileStorProducer implements StorFilestorConfig.Producer {
private final Integer numThreads;
private final ContentCluster cluster;
- private final Integer numResponseThreads;
- public FileStorProducer(ContentCluster parent, Integer numThreads, Integer numResponseThreads) {
+ public FileStorProducer(ContentCluster parent, Integer numThreads) {
this.numThreads = numThreads;
this.cluster = parent;
- this.numResponseThreads = numResponseThreads;
}
@Override
@@ -56,9 +54,6 @@ public class FileStorProducer implements StorFilestorConfig.Producer {
if (numThreads != null) {
builder.num_threads(numThreads);
}
- if (numResponseThreads != null) {
- builder.num_response_threads(numResponseThreads);
- }
builder.enable_multibit_split_optimalization(cluster.getPersistence().enableMultiLevelSplitting());
}
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 c97b4c50484..091e82a9c76 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
@@ -36,7 +36,7 @@ public class StorageCluster extends AbstractConfigProducer<StorageNode>
return new StorageCluster(ancestor,
ContentCluster.getClusterName(clusterElem),
- new FileStorProducer.Builder().build(cluster, deployState.getProperties().defaultNumResponseThreads(), clusterElem),
+ new FileStorProducer.Builder().build(cluster, clusterElem),
new IntegrityCheckerProducer.Builder().build(cluster, clusterElem),
new StorServerProducer.Builder().build(clusterElem),
new StorVisitorProducer.Builder().build(clusterElem),
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/StorageClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/StorageClusterTest.java
index fdf911231d5..96fe7fc5775 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/content/StorageClusterTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/content/StorageClusterTest.java
@@ -143,7 +143,7 @@ public class StorageClusterTest {
assertEquals(7, config.num_threads());
assertFalse(config.enable_multibit_split_optimalization());
- assertEquals(0, config.num_response_threads());
+ assertEquals(1, config.num_response_threads());
}
{
assertEquals(1, stc.getChildren().size());
@@ -168,13 +168,13 @@ public class StorageClusterTest {
" <node distribution-key=\"0\" hostalias=\"mockhost\"/>" +
" </group>" +
"</cluster>",
- new Flavor(new FlavorsConfig.Flavor.Builder().name("test-flavor").minCpuCores(9).build()),
- new TestProperties().setDefaultNumResponseThreads(3)
+ new Flavor(new FlavorsConfig.Flavor.Builder().name("test-flavor").minCpuCores(9).build())
);
StorFilestorConfig.Builder builder = new StorFilestorConfig.Builder();
stc.getConfig(builder);
StorFilestorConfig config = new StorFilestorConfig(builder);
- assertEquals(3, config.num_response_threads());
+ assertEquals(1, config.num_response_threads());
+ assertEquals(7, config.num_threads());
}
@Test
diff --git a/configdefinitions/src/vespa/stor-filestor.def b/configdefinitions/src/vespa/stor-filestor.def
index 80ddc0931f4..5335f4f162f 100644
--- a/configdefinitions/src/vespa/stor-filestor.def
+++ b/configdefinitions/src/vespa/stor-filestor.def
@@ -29,7 +29,7 @@ num_threads int default=8 restart
## Number of threads for response processing and delivery
## 0 will give legacy sync behavior.
## Negative number will choose a good number based on # cores.
-num_response_threads int default=0
+num_response_threads int default=1
## When merging, if we find more than this number of documents that exist on all
## of the same copies, send a separate apply bucket diff with these entries
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 0ecb608fe0c..6069aaaa484 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
@@ -155,7 +155,6 @@ public class ModelContextImpl implements ModelContext {
private final double defaultSoftStartSeconds;
private final double threadPoolSizeFactor;
private final double queueSizefactor;
- private final int defaultNumResponseThreads;
private final Optional<AthenzDomain> athenzDomain;
private final Optional<ApplicationRoles> applicationRoles;
@@ -202,8 +201,6 @@ public class ModelContextImpl implements ModelContext {
.with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
queueSizefactor = Flags.DEFAULT_QUEUE_SIZE_FACTOR.bindTo(flagSource)
.with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
- defaultNumResponseThreads = Flags.DEFAULT_NUM_RESPONSE_THREADS.bindTo(flagSource)
- .with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
this.athenzDomain = athenzDomain;
this.applicationRoles = applicationRoles;
}
@@ -284,11 +281,6 @@ public class ModelContextImpl implements ModelContext {
}
@Override
- public int defaultNumResponseThreads() {
- return defaultNumResponseThreads;
- }
-
- @Override
public Optional<AthenzDomain> athenzDomain() { return athenzDomain; }
@Override
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 5a6aed05960..e32b8d25f6a 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -161,12 +161,6 @@ public class Flags {
"Takes effect at redeployment",
ZONE_ID, APPLICATION_ID);
- public static final UnboundIntFlag DEFAULT_NUM_RESPONSE_THREADS = defineIntFlag(
- "default-num-response-threads", 0,
- "Default number of threads used for processing put/update/remove responses.",
- "Takes effect at redeployment",
- ZONE_ID, APPLICATION_ID);
-
public static final UnboundBooleanFlag USE_DISTRIBUTOR_BTREE_DB = defineFeatureFlag(
"use-distributor-btree-db", false,
"Whether to use the new B-tree bucket database in the distributors.",