diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-07-03 13:10:04 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-07-03 13:10:04 +0000 |
commit | 1d87f637c7db8b4bb143cd00e6df2acad5aa22ed (patch) | |
tree | 7b4a563dd3149f53ba865c7879a5f305e75b70bd /config-model | |
parent | 87372a16c7ec43a5babcf44bb5ff109ac3369b2e (diff) |
Only the distributor need help encoding. Proton has enough workers.
Diffstat (limited to 'config-model')
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 |