aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-01-30 23:26:55 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2018-01-30 23:26:55 +0100
commit6f1c947bbbbc8f4b0c6b63d564ac2d9294cf13a8 (patch)
treedfdebb3580c95af2576d49f7cdd6624db478a2e7 /config-model/src/main
parent7923c31a91388782f6f6b169358a6cecdf63d2fc (diff)
Use maxsize-percent for giving percentage.
Diffstat (limited to 'config-model/src/main')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomSearchTuningBuilder.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/Tuning.java3
-rw-r--r--config-model/src/main/resources/schema/content.rnc1
3 files changed, 6 insertions, 0 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 06f4e1cb2e9..d7d9517a98b 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
@@ -220,6 +220,8 @@ public class DomSearchTuningBuilder extends VespaDomBuilder.DomConfigProducerBui
for (Element e : XML.getChildren(spec)) {
if (equals("maxsize", e)) {
c.maxSize = asLong(e);
+ } else if (equals("maxsize-percent", e)) {
+ c.maxSizePercent = asDouble(e);
} else if (equals("maxentries", e)) {
parent.deployLogger().log(Level.WARNING, "Element 'maxentries is deprecated and ignored. Will only limit by size.");
} else if (equals("initialentries", 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 2c1c5cd83ce..f29c7ade816 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
@@ -243,6 +243,7 @@ public class Tuning extends AbstractConfigProducer implements PartitionsConfig.P
public static class Component {
public Long maxSize = null;
+ public Double maxSizePercent = null;
public Long initialEntries = null;
public Compression compression = null;
private final boolean outputInt;
@@ -257,9 +258,11 @@ public class Tuning extends AbstractConfigProducer implements PartitionsConfig.P
public void getConfig(ProtonConfig.Summary.Cache.Builder cache) {
if (outputInt) {
+ if (maxSizePercent !=null) cache.maxbytes(-maxSizePercent.longValue());
if (maxSize!=null) cache.maxbytes(maxSize.intValue());
if (initialEntries!=null) cache.initialentries(initialEntries.intValue());
} else {
+ if (maxSizePercent !=null) cache.maxbytes(-maxSizePercent.longValue());
if (maxSize!=null) cache.maxbytes(maxSize);
if (initialEntries!=null) cache.initialentries(initialEntries);
}
diff --git a/config-model/src/main/resources/schema/content.rnc b/config-model/src/main/resources/schema/content.rnc
index ffbf1a929bc..a5c75bc0150 100644
--- a/config-model/src/main/resources/schema/content.rnc
+++ b/config-model/src/main/resources/schema/content.rnc
@@ -337,6 +337,7 @@ Tuning = element tuning {
element store {
element cache {
element maxsize { xsd:nonNegativeInteger }? &
+ element maxsize-percent { xsd:double { minInclusive = "0.0" maxInclusive = "50.0" } }? &
element initialentries { xsd:nonNegativeInteger }? &
element maxentries { xsd:nonNegativeInteger }? &
TuningCompression?