aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-07-03 13:10:04 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-07-03 13:10:04 +0000
commit1d87f637c7db8b4bb143cd00e6df2acad5aa22ed (patch)
tree7b4a563dd3149f53ba865c7879a5f305e75b70bd
parent87372a16c7ec43a5babcf44bb5ff109ac3369b2e (diff)
Only the distributor need help encoding. Proton has enough workers.
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/Distributor.java8
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/StorageNode.java7
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/DistributorTest.java25
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/StorageClusterTest.java26
4 files changed, 46 insertions, 20 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/Distributor.java b/config-model/src/main/java/com/yahoo/vespa/model/content/Distributor.java
index c55548cfd2b..4b07b78a713 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/Distributor.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/Distributor.java
@@ -2,6 +2,7 @@
package com.yahoo.vespa.model.content;
import com.yahoo.config.model.deploy.DeployState;
+import com.yahoo.vespa.config.content.core.StorCommunicationmanagerConfig;
import com.yahoo.vespa.config.content.core.StorServerConfig;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.vespa.model.builder.xml.dom.ModelElement;
@@ -50,6 +51,13 @@ public class Distributor extends ContentNode {
}
@Override
+ public void getConfig(StorCommunicationmanagerConfig.Builder builder) {
+ super.getConfig(builder);
+ // Single distributor needs help to encode the messages.
+ builder.mbus.dispatch_on_encode(true);
+ }
+
+ @Override
public String getStartupCommand() {
return "exec sbin/vespa-distributord -c $VESPA_CONFIG_ID";
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/StorageNode.java b/config-model/src/main/java/com/yahoo/vespa/model/content/StorageNode.java
index f41188eccde..d40abec5bb1 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/StorageNode.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/StorageNode.java
@@ -5,6 +5,7 @@ import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.provision.Flavor;
import com.yahoo.vespa.config.content.StorFilestorConfig;
import com.yahoo.vespa.config.content.core.StorBucketmoverConfig;
+import com.yahoo.vespa.config.content.core.StorCommunicationmanagerConfig;
import com.yahoo.vespa.config.content.core.StorServerConfig;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.vespa.defaults.Defaults;
@@ -92,4 +93,10 @@ public class StorageNode extends ContentNode implements StorServerConfig.Produce
cluster.getConfig(builder);
}
+ @Override
+ public void getConfig(StorCommunicationmanagerConfig.Builder builder) {
+ super.getConfig(builder);
+ builder.mbus.dispatch_on_encode(false);
+ }
+
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/DistributorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/DistributorTest.java
index 365dc74274d..1c05b7e8fff 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/content/DistributorTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/content/DistributorTest.java
@@ -14,8 +14,8 @@ import org.junit.Test;
import java.util.List;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-import static org.hamcrest.Matchers.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
/**
* Test for content DistributorCluster.
@@ -48,7 +48,7 @@ public class DistributorTest {
getConfig(builder);
StorServerConfig config = new StorServerConfig(builder);
- assertEquals(true, config.is_distributor());
+ assertTrue(config.is_distributor());
assertEquals("foofighters", config.cluster_name());
}
@@ -62,7 +62,7 @@ public class DistributorTest {
" </group>" +
"</cluster>").getConfig(builder);
StorDistributormanagerConfig conf = new StorDistributormanagerConfig(builder);
- assertEquals(false, conf.enable_revert());
+ assertFalse(conf.enable_revert());
}
@Test
@@ -85,7 +85,7 @@ public class DistributorTest {
assertEquals(26214400, conf.splitsize());
assertEquals(13107200, conf.joinsize());
assertEquals(8, conf.minsplitcount());
- assertEquals(false, conf.inlinebucketsplitting());
+ assertFalse(conf.inlinebucketsplitting());
}
@Test
@@ -110,7 +110,7 @@ public class DistributorTest {
assertEquals(33544432, conf.splitsize());
assertEquals(16000000, conf.joinsize());
assertEquals(8, conf.minsplitcount());
- assertEquals(true, conf.inlinebucketsplitting());
+ assertTrue(conf.inlinebucketsplitting());
cluster = parseCluster("<cluster id=\"storage\">\n" +
" <redundancy>2</redundancy>" +
@@ -137,7 +137,7 @@ public class DistributorTest {
assertEquals(33544432, conf.splitsize());
assertEquals(16000000, conf.joinsize());
assertEquals(1, conf.minsplitcount());
- assertEquals(true, conf.inlinebucketsplitting());
+ assertTrue(conf.inlinebucketsplitting());
}
@Test
@@ -269,6 +269,7 @@ public class DistributorTest {
cluster.getChildren().get("0").getConfig(builder);
StorCommunicationmanagerConfig config = new StorCommunicationmanagerConfig(builder);
+ assertTrue(config.mbus().dispatch_on_encode());
assertEquals(14066, config.rpcport());
}
@@ -288,14 +289,14 @@ public class DistributorTest {
public void bucket_activation_disabled_if_no_documents_in_indexed_mode() {
StorDistributormanagerConfig config = clusterXmlToConfig(
generateXmlForDocTypes(DocType.storeOnly("music")));
- assertThat(config.disable_bucket_activation(), is(true));
+ assertTrue(config.disable_bucket_activation());
}
@Test
public void bucket_activation_enabled_with_single_indexed_document() {
StorDistributormanagerConfig config = clusterXmlToConfig(
generateXmlForDocTypes(DocType.index("music")));
- assertThat(config.disable_bucket_activation(), is(false));
+ assertFalse(config.disable_bucket_activation());
}
@Test
@@ -303,7 +304,7 @@ public class DistributorTest {
StorDistributormanagerConfig config = clusterXmlToConfig(
generateXmlForDocTypes(DocType.index("music"),
DocType.index("movies")));
- assertThat(config.disable_bucket_activation(), is(false));
+ assertFalse(config.disable_bucket_activation());
}
@Test
@@ -312,14 +313,14 @@ public class DistributorTest {
generateXmlForDocTypes(DocType.storeOnly("music"),
DocType.streaming("bunnies"),
DocType.index("movies")));
- assertThat(config.disable_bucket_activation(), is(false));
+ assertFalse(config.disable_bucket_activation());
}
@Test
public void bucket_activation_disabled_for_single_streaming_type() {
StorDistributormanagerConfig config = clusterXmlToConfig(
generateXmlForDocTypes(DocType.streaming("music")));
- assertThat(config.disable_bucket_activation(), is(true));
+ assertTrue(config.disable_bucket_activation());
}
}
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 96fe7fc5775..9bbc7cecf06 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
@@ -8,6 +8,7 @@ import com.yahoo.config.model.provision.SingleNodeProvisioner;
import com.yahoo.config.model.test.MockApplicationPackage;
import com.yahoo.config.provision.Flavor;
import com.yahoo.config.provisioning.FlavorsConfig;
+import com.yahoo.vespa.config.content.core.StorCommunicationmanagerConfig;
import com.yahoo.vespa.config.content.core.StorIntegritycheckerConfig;
import com.yahoo.vespa.config.content.core.StorVisitorConfig;
import com.yahoo.vespa.config.content.StorFilestorConfig;
@@ -62,18 +63,27 @@ public class StorageClusterTest {
}
@Test
- public void testBasics() {
- StorServerConfig.Builder builder = new StorServerConfig.Builder();
- parse("<content id=\"foofighters\"><documents/>\n" +
+ public void testBasics() throws Exception {
+ StorageCluster storage = parse("<content id=\"foofighters\"><documents/>\n" +
" <group>" +
" <node distribution-key=\"0\" hostalias=\"mockhost\"/>" +
" </group>" +
- "</content>\n").
- getConfig(builder);
+ "</content>\n");
- StorServerConfig config = new StorServerConfig(builder);
- assertEquals(false, config.is_distributor());
- assertEquals("foofighters", config.cluster_name());
+ assertEquals(1, storage.getChildren().size());
+ {
+ StorServerConfig.Builder builder = new StorServerConfig.Builder();
+ storage.getConfig(builder);
+ StorServerConfig config = new StorServerConfig(builder);
+ assertEquals(false, config.is_distributor());
+ assertEquals("foofighters", config.cluster_name());
+ }
+ {
+ StorCommunicationmanagerConfig.Builder builder = new StorCommunicationmanagerConfig.Builder();
+ storage.getChildren().get("0").getConfig(builder);
+ StorCommunicationmanagerConfig config = new StorCommunicationmanagerConfig(builder);
+ assertFalse(config.mbus().dispatch_on_encode());
+ }
}
@Test