diff --git a/core/src/db/meta/MySQLConnectionPool.cpp b/core/src/db/meta/MySQLConnectionPool.cpp index e036f52c2b..ba1acf667d 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 3031d738c3..40178cf8e4 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_); }