summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahoo-inc.com>2016-06-22 17:12:27 +0200
committerGeir Storli <geirst@yahoo-inc.com>2016-06-22 17:12:27 +0200
commit2cc01d18681a0ac08706496886742db92ef40b22 (patch)
tree68f9a3ed79f316a11c09f8f3a95f8bec35538368
parenta9f1b6f1bc23efa52c0f09fea69aa94aa35bb06d (diff)
Add option to tune number of initialize threads in proton.
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomSearchTuningBuilder.java12
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/Tuning.java15
-rw-r--r--config-model/src/main/resources/schema/search.rnc3
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomSearchTuningBuilderTest.java10
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"));
+ }
+
}