summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java1
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java15
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/proton.cpp3
3 files changed, 17 insertions, 2 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java b/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java
index ff09da17af8..e4806cb2353 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java
@@ -34,6 +34,7 @@ public class NodeFlavorTuning implements ProtonConfig.Producer {
private void setHwInfo(ProtonConfig.Builder builder) {
builder.hwinfo.disk.size((long)nodeFlavor.getMinDiskAvailableGb() * GB);
+ builder.hwinfo.disk.shared(nodeFlavor.getType().equals(Flavor.Type.DOCKER_CONTAINER));
builder.hwinfo.memory.size((long)nodeFlavor.getMinMainMemoryAvailableGb() * GB);
builder.hwinfo.cpu.cores((int)nodeFlavor.getMinCpuCores());
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java b/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java
index db6e3c7605f..3d62670bb52 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java
@@ -86,6 +86,12 @@ public class NodeFlavorTuningTest {
assertSummaryReadIo(ProtonConfig.Summary.Read.Io.MMAP, false);
}
+ @Test
+ public void require_that_docker_node_is_tagged_with_shared_disk() {
+ assertSharedDisk(true, true);
+ assertSharedDisk(false, false);
+ }
+
private static void assertDocumentStoreMaxFileSize(long expFileSizeBytes, int memoryGb) {
assertEquals(expFileSizeBytes, configFromMemorySetting(memoryGb).summary().log().maxfilesize());
}
@@ -103,6 +109,10 @@ public class NodeFlavorTuningTest {
assertEquals(expValue, configFromDiskSetting(fastDisk).summary().read().io());
}
+ private static void assertSharedDisk(boolean sharedDisk, boolean docker) {
+ assertEquals(sharedDisk, configFromEnvironmentType(docker).hwinfo().disk().shared());
+ }
+
private static ProtonConfig configFromDiskSetting(boolean fastDisk) {
return getConfig(new FlavorsConfig.Flavor.Builder().
fastDisk(fastDisk));
@@ -122,6 +132,11 @@ public class NodeFlavorTuningTest {
return getConfig(new FlavorsConfig.Flavor.Builder().minCpuCores(numCores));
}
+ private static ProtonConfig configFromEnvironmentType(boolean docker) {
+ String environment = (docker ? "DOCKER_CONTAINER" : "undefined");
+ return getConfig(new FlavorsConfig.Flavor.Builder().environment(environment));
+ }
+
private static ProtonConfig getConfig(FlavorsConfig.Flavor.Builder flavorBuilder) {
flavorBuilder.name("my_flavor");
NodeFlavorTuning tuning = new NodeFlavorTuning(new Flavor(new FlavorsConfig.Flavor(flavorBuilder)));
diff --git a/searchcore/src/vespa/searchcore/proton/server/proton.cpp b/searchcore/src/vespa/searchcore/proton/server/proton.cpp
index 60461fe649e..eefef25911f 100644
--- a/searchcore/src/vespa/searchcore/proton/server/proton.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/proton.cpp
@@ -237,8 +237,7 @@ Proton::init(const BootstrapConfig::SP & configSnapshot)
const auto &hwDiskCfg = protonConfig.hwinfo.disk;
const auto &hwMemoryCfg = protonConfig.hwinfo.memory;
const auto &hwCpuCfg = protonConfig.hwinfo.cpu;
- // TODO: Forward disk size when performance impact of disk usage sampling is verified
- HwInfoSampler::Config samplerCfg(0,
+ HwInfoSampler::Config samplerCfg(hwDiskCfg.size,
hwDiskCfg.writespeed,
hwDiskCfg.slowwritespeedlimit,
hwDiskCfg.samplewritesize,