diff options
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, |