diff options
author | Geir Storli <geirst@yahoo-inc.com> | 2016-06-22 17:12:27 +0200 |
---|---|---|
committer | Geir Storli <geirst@yahoo-inc.com> | 2016-06-22 17:12:27 +0200 |
commit | 2cc01d18681a0ac08706496886742db92ef40b22 (patch) | |
tree | 68f9a3ed79f316a11c09f8f3a95f8bec35538368 | |
parent | a9f1b6f1bc23efa52c0f09fea69aa94aa35bb06d (diff) |
Add option to tune number of initialize threads in proton.
4 files changed, 39 insertions, 1 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomSearchTuningBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomSearchTuningBuilder.java index fa5d46526f4..c8d2e868e42 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomSearchTuningBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomSearchTuningBuilder.java @@ -70,6 +70,8 @@ public class DomSearchTuningBuilder extends VespaDomBuilder.DomConfigProducerBui handleAttribute(e, t.searchNode); } else if (equals("summary", e)) { handleSummary(e, t.searchNode); + } else if (equals("initialize", e)) { + handleInitialize(e, t.searchNode); } } } @@ -244,4 +246,14 @@ public class DomSearchTuningBuilder extends VespaDomBuilder.DomConfigProducerBui } } } + + private void handleInitialize(Element spec, Tuning.SearchNode sn) { + sn.initialize = new Tuning.SearchNode.Initialize(); + for (Element e : XML.getChildren(spec)) { + if (equals("threads", e)) { + sn.initialize.threads = asInt(e); + } + } + } + } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/Tuning.java b/config-model/src/main/java/com/yahoo/vespa/model/search/Tuning.java index 25a98353f74..1841f475e76 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/Tuning.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/Tuning.java @@ -167,7 +167,7 @@ public class Tuning extends AbstractConfigProducer implements PartitionsConfig.P } } - public static class Attribute implements ProtonConfig.Producer { + public static class Attribute implements ProtonConfig.Producer { public static class Io implements ProtonConfig.Producer { public IoType write = null; @@ -337,12 +337,24 @@ public class Tuning extends AbstractConfigProducer implements PartitionsConfig.P } } + public static class Initialize implements ProtonConfig.Producer { + public Integer threads = null; + + @Override + public void getConfig(ProtonConfig.Builder builder) { + if (threads != null) { + builder.initialize(new ProtonConfig.Initialize.Builder().threads(threads)); + } + } + } + public RequestThreads threads = null; public FlushStrategy strategy = null; public Resizing resizing = null; public Index index = null; public Attribute attribute = null; public Summary summary = null; + public Initialize initialize = null; @Override public void getConfig(ProtonConfig.Builder builder) { @@ -352,6 +364,7 @@ public class Tuning extends AbstractConfigProducer implements PartitionsConfig.P if (index != null) index.getConfig(builder); if (attribute != null) attribute.getConfig(builder); if (summary != null) summary.getConfig(builder); + if (initialize != null) initialize.getConfig(builder); } } diff --git a/config-model/src/main/resources/schema/search.rnc b/config-model/src/main/resources/schema/search.rnc index 19a3860d93b..a96a4576f7b 100644 --- a/config-model/src/main/resources/schema/search.rnc +++ b/config-model/src/main/resources/schema/search.rnc @@ -221,6 +221,9 @@ Tuning = element tuning { }? }? }? + }? & + element initialize { + element threads { xsd:nonNegativeInteger }? }? }? } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomSearchTuningBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomSearchTuningBuilderTest.java index caa4a34d47c..4a174970288 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomSearchTuningBuilderTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomSearchTuningBuilderTest.java @@ -225,4 +225,14 @@ public class DomSearchTuningBuilderTest extends DomBuilderTest { assertThat(cfg, containsString("summary.log.chunk.compression.level 5")); } + @Test + public void requireThatWeCanParseInitializeTag() { + Tuning t = createTuning(parseXml("<initialize>", + "<threads>7</threads>", + "</initialize>")); + assertEquals(7, t.searchNode.initialize.threads.intValue()); + String cfg = getProtonCfg(t); + assertThat(cfg, containsString("initialize.threads 7")); + } + } |