From 4f6fe96550f47057d8dbb3308fc3b8b2dfd6b476 Mon Sep 17 00:00:00 2001 From: groot Date: Fri, 22 May 2020 20:26:15 -0500 Subject: [PATCH] mysql meta connection pool issue (#2413) Signed-off-by: groot --- core/src/db/meta/MySQLConnectionPool.cpp | 3 ++- core/src/db/meta/MySQLMetaImpl.cpp | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/core/src/db/meta/MySQLConnectionPool.cpp b/core/src/db/meta/MySQLConnectionPool.cpp index e036f52c..ba1acf66 100644 --- a/core/src/db/meta/MySQLConnectionPool.cpp +++ b/core/src/db/meta/MySQLConnectionPool.cpp @@ -11,6 +11,7 @@ #include "db/meta/MySQLConnectionPool.h" #include +#include namespace milvus { namespace engine { @@ -24,7 +25,7 @@ namespace meta { mysqlpp::Connection* MySQLConnectionPool::grab() { while (conns_in_use_ > max_pool_size_) { - sleep(1); + std::this_thread::sleep_for(std::chrono::milliseconds(10)); } ++conns_in_use_; diff --git a/core/src/db/meta/MySQLMetaImpl.cpp b/core/src/db/meta/MySQLMetaImpl.cpp index 3031d738..40178cf8 100644 --- a/core/src/db/meta/MySQLMetaImpl.cpp +++ b/core/src/db/meta/MySQLMetaImpl.cpp @@ -314,9 +314,9 @@ MySQLMetaImpl::Initialize() { } // step 3: connect mysql - int thread_hint = std::thread::hardware_concurrency(); - int max_pool_size = (thread_hint == 0) ? 8 : thread_hint; - unsigned int port = 0; + unsigned int thread_hint = std::thread::hardware_concurrency(); + int max_pool_size = (thread_hint > 8) ? thread_hint : 8; + int port = 0; if (!uri_info.port_.empty()) { port = std::stoi(uri_info.port_); } -- GitLab