diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-05-19 13:17:04 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-05-19 13:17:04 +0000 |
commit | 813a5e53a49a00ab04cd2b3c1666c37e08acac4e (patch) | |
tree | d983f8a5ecd79e702d80d9252dc4f8431266cafe | |
parent | 69b3bbee1cd90ec5836d5ef1fd06e80072acd450 (diff) |
Async put, update and remove are now default in the backend.
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.", |