From 5f3c0052478a08d07d68c5dc1aab57a42293f430 Mon Sep 17 00:00:00 2001 From: Wang XiangYu Date: Mon, 15 Jun 2020 22:44:58 +0800 Subject: [PATCH] fix cache.cache_size range check error (#2565) * fix cache.cache_size range check error Signed-off-by: wxyu * update ci Signed-off-by: wxyu --- CHANGELOG.md | 1 + ci/jenkins/Jenkinsfile | 2 +- core/src/config/Config.cpp | 2 +- core/unittest/server/test_config.cpp | 24 ++++++++++++++++++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98866c83..ebb287de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ Please mark all change in change log and use the issue from GitHub - \#2368 Make read node detect delete behavior - \#2394 Drop collection timeout if too many partitions created on collection - \#2549 Launch server fail using demo config +- \#2564 cache.cache_size range check error ## Feature - \#2363 Update branch version diff --git a/ci/jenkins/Jenkinsfile b/ci/jenkins/Jenkinsfile index e35b429c..2143c8e7 100644 --- a/ci/jenkins/Jenkinsfile +++ b/ci/jenkins/Jenkinsfile @@ -1,7 +1,7 @@ #!/usr/bin/env groovy String cron_timezone = "TZ=Asia/Shanghai" -String cron_string = BRANCH_NAME == "master" ? "38 0 * * * " : "" +String cron_string = BRANCH_NAME == "0.10.0" ? "50 22 * * * " : "" pipeline { agent none diff --git a/core/src/config/Config.cpp b/core/src/config/Config.cpp index cabd6f7c..ea88878d 100644 --- a/core/src/config/Config.cpp +++ b/core/src/config/Config.cpp @@ -1327,7 +1327,7 @@ Config::CheckCacheConfigCpuCacheCapacity(const std::string& value) { std::string str = GetConfigStr(CONFIG_CACHE, CONFIG_CACHE_INSERT_BUFFER_SIZE, "0"); - int64_t insert_buffer_size = parse_bytes(value, err); + int64_t insert_buffer_size = parse_bytes(str, err); fiu_do_on("Config.CheckCacheConfigCpuCacheCapacity.large_insert_buffer", insert_buffer_size = total_mem + 1); if (insert_buffer_size + cache_size >= total_mem) { std::string msg = "Invalid cpu cache size: " + value + diff --git a/core/unittest/server/test_config.cpp b/core/unittest/server/test_config.cpp index 3e3c5e17..da41b875 100644 --- a/core/unittest/server/test_config.cpp +++ b/core/unittest/server/test_config.cpp @@ -256,6 +256,30 @@ TEST_F(ConfigTest, SERVER_CONFIG_VALID_TEST) { ASSERT_TRUE(config.GetCacheConfigCacheInsertData(bool_val).ok()); ASSERT_TRUE(bool_val == cache_insert_data); + { + // #2564 + int64_t total_mem = 0, free_mem = 0; + milvus::server::CommonUtil::GetSystemMemInfo(total_mem, free_mem); + ASSERT_TRUE(config.SetCacheConfigInsertBufferSize("1GB").ok()); + int64_t cache_cpu_cache_size = total_mem / 2; + float cache_cpu_cache_threshold = 0.7; + ASSERT_TRUE(config.SetCacheConfigCpuCacheThreshold(std::to_string(cache_cpu_cache_threshold)).ok()); + ASSERT_TRUE(config.SetCacheConfigCpuCacheCapacity(std::to_string(cache_cpu_cache_size)).ok()); + ASSERT_TRUE(config.GetCacheConfigCpuCacheCapacity(int64_val).ok()); + ASSERT_TRUE(int64_val == cache_cpu_cache_size); + } + + { + int64_t total_mem = 0, free_mem = 0; + milvus::server::CommonUtil::GetSystemMemInfo(total_mem, free_mem); + ASSERT_TRUE(config.SetCacheConfigInsertBufferSize("1GB").ok()); + int64_t cache_cpu_cache_size = total_mem - 1073741824 - 1; // total_size - 1GB - 1 + ASSERT_TRUE(config.SetCacheConfigCpuCacheCapacity(std::to_string(cache_cpu_cache_size)).ok()); + ASSERT_TRUE(config.GetCacheConfigCpuCacheCapacity(int64_val).ok()); + ASSERT_TRUE(int64_val == cache_cpu_cache_size); + } + + /* engine config */ int64_t engine_use_blas_threshold = 50; ASSERT_TRUE(config.SetEngineConfigUseBlasThreshold(std::to_string(engine_use_blas_threshold)).ok()); -- GitLab