From 534e6e504a60fcb74bd0eb682c566168446d683b Mon Sep 17 00:00:00 2001 From: groot Date: Tue, 5 Nov 2019 11:29:19 +0800 Subject: [PATCH 1/4] #194 Search faild: Table file doesnt exist --- CHANGELOG.md | 1 + core/src/db/meta/MySQLMetaImpl.cpp | 2 ++ core/src/db/meta/MySQLMetaImpl.h | 1 + core/src/db/meta/SqliteMetaImpl.cpp | 2 ++ core/src/db/meta/SqliteMetaImpl.h | 1 + 5 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5f9725825..98fa8a7f97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ Please mark all change in change log and use the ticket from JIRA. # Milvus 0.5.2 (TODO) ## Bug +- \#194 - Search faild: message="Table file doesn't exist" ## Feature diff --git a/core/src/db/meta/MySQLMetaImpl.cpp b/core/src/db/meta/MySQLMetaImpl.cpp index 44594636ad..4eafd6b9ec 100644 --- a/core/src/db/meta/MySQLMetaImpl.cpp +++ b/core/src/db/meta/MySQLMetaImpl.cpp @@ -173,6 +173,7 @@ MySQLMetaImpl::~MySQLMetaImpl() { Status MySQLMetaImpl::NextTableId(std::string& table_id) { + std::lock_guard lock(genid_mutex_); // avoid duplicated id std::stringstream ss; SimpleIDGenerator g; ss << g.GetNextIDNumber(); @@ -182,6 +183,7 @@ MySQLMetaImpl::NextTableId(std::string& table_id) { Status MySQLMetaImpl::NextFileId(std::string& file_id) { + std::lock_guard lock(genid_mutex_); // avoid duplicated id std::stringstream ss; SimpleIDGenerator g; ss << g.GetNextIDNumber(); diff --git a/core/src/db/meta/MySQLMetaImpl.h b/core/src/db/meta/MySQLMetaImpl.h index 02bc6e1752..bb7fb5b59f 100644 --- a/core/src/db/meta/MySQLMetaImpl.h +++ b/core/src/db/meta/MySQLMetaImpl.h @@ -136,6 +136,7 @@ class MySQLMetaImpl : public Meta { std::shared_ptr mysql_connection_pool_; bool safe_grab_ = false; + std::mutex genid_mutex_; // std::mutex connectionMutex_; }; // DBMetaImpl diff --git a/core/src/db/meta/SqliteMetaImpl.cpp b/core/src/db/meta/SqliteMetaImpl.cpp index 3fed2a81d4..0454123acd 100644 --- a/core/src/db/meta/SqliteMetaImpl.cpp +++ b/core/src/db/meta/SqliteMetaImpl.cpp @@ -97,6 +97,7 @@ SqliteMetaImpl::~SqliteMetaImpl() { Status SqliteMetaImpl::NextTableId(std::string &table_id) { + std::lock_guard lock(genid_mutex_); // avoid duplicated id std::stringstream ss; SimpleIDGenerator g; ss << g.GetNextIDNumber(); @@ -106,6 +107,7 @@ SqliteMetaImpl::NextTableId(std::string &table_id) { Status SqliteMetaImpl::NextFileId(std::string &file_id) { + std::lock_guard lock(genid_mutex_); // avoid duplicated id std::stringstream ss; SimpleIDGenerator g; ss << g.GetNextIDNumber(); diff --git a/core/src/db/meta/SqliteMetaImpl.h b/core/src/db/meta/SqliteMetaImpl.h index c8b99b358a..0fc3f3c4ba 100644 --- a/core/src/db/meta/SqliteMetaImpl.h +++ b/core/src/db/meta/SqliteMetaImpl.h @@ -132,6 +132,7 @@ class SqliteMetaImpl : public Meta { private: const DBMetaOptions options_; std::mutex meta_mutex_; + std::mutex genid_mutex_; }; // DBMetaImpl } // namespace meta From 7ccd442116495ee80969850a402168b004f747b9 Mon Sep 17 00:00:00 2001 From: groot Date: Tue, 5 Nov 2019 11:33:14 +0800 Subject: [PATCH 2/4] format code --- core/src/db/meta/MySQLMetaImpl.cpp | 4 ++-- core/src/db/meta/SqliteMetaImpl.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/src/db/meta/MySQLMetaImpl.cpp b/core/src/db/meta/MySQLMetaImpl.cpp index 4eafd6b9ec..c7a054524c 100644 --- a/core/src/db/meta/MySQLMetaImpl.cpp +++ b/core/src/db/meta/MySQLMetaImpl.cpp @@ -173,7 +173,7 @@ MySQLMetaImpl::~MySQLMetaImpl() { Status MySQLMetaImpl::NextTableId(std::string& table_id) { - std::lock_guard lock(genid_mutex_); // avoid duplicated id + std::lock_guard lock(genid_mutex_); // avoid duplicated id std::stringstream ss; SimpleIDGenerator g; ss << g.GetNextIDNumber(); @@ -183,7 +183,7 @@ MySQLMetaImpl::NextTableId(std::string& table_id) { Status MySQLMetaImpl::NextFileId(std::string& file_id) { - std::lock_guard lock(genid_mutex_); // avoid duplicated id + std::lock_guard lock(genid_mutex_); // avoid duplicated id std::stringstream ss; SimpleIDGenerator g; ss << g.GetNextIDNumber(); diff --git a/core/src/db/meta/SqliteMetaImpl.cpp b/core/src/db/meta/SqliteMetaImpl.cpp index 0454123acd..4123858b44 100644 --- a/core/src/db/meta/SqliteMetaImpl.cpp +++ b/core/src/db/meta/SqliteMetaImpl.cpp @@ -97,7 +97,7 @@ SqliteMetaImpl::~SqliteMetaImpl() { Status SqliteMetaImpl::NextTableId(std::string &table_id) { - std::lock_guard lock(genid_mutex_); // avoid duplicated id + std::lock_guard lock(genid_mutex_); // avoid duplicated id std::stringstream ss; SimpleIDGenerator g; ss << g.GetNextIDNumber(); @@ -107,7 +107,7 @@ SqliteMetaImpl::NextTableId(std::string &table_id) { Status SqliteMetaImpl::NextFileId(std::string &file_id) { - std::lock_guard lock(genid_mutex_); // avoid duplicated id + std::lock_guard lock(genid_mutex_); // avoid duplicated id std::stringstream ss; SimpleIDGenerator g; ss << g.GetNextIDNumber(); From bc802b04a0c2ba8ddf1b7a2819d02d0f2ada19ad Mon Sep 17 00:00:00 2001 From: groot Date: Tue, 5 Nov 2019 12:02:58 +0800 Subject: [PATCH 3/4] fix build error --- core/unittest/db/test_meta_mysql.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/unittest/db/test_meta_mysql.cpp b/core/unittest/db/test_meta_mysql.cpp index a3259e5645..835ea42492 100644 --- a/core/unittest/db/test_meta_mysql.cpp +++ b/core/unittest/db/test_meta_mysql.cpp @@ -185,7 +185,7 @@ TEST_F(MySqlMetaTest, ARCHIVE_TEST_DISK) { options.archive_conf_ = milvus::engine::ArchiveConf("delete", "disk:11"); int mode = milvus::engine::DBOptions::MODE::SINGLE; - auto impl = milvus::engine::meta::MySQLMetaImpl(options, mode); + milvus::engine::meta::MySQLMetaImpl impl(options, mode); auto table_id = "meta_test_group"; milvus::engine::meta::TableSchema table; From 4e22ae189a496d33eecd4ad6502a6434d8f8f56f Mon Sep 17 00:00:00 2001 From: groot Date: Tue, 5 Nov 2019 12:35:34 +0800 Subject: [PATCH 4/4] set default version --- core/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 402e65fb10..7acf3062fa 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -44,7 +44,7 @@ if(NOT GIT_BRANCH_NAME STREQUAL "") string(REGEX REPLACE "\n" "" GIT_BRANCH_NAME ${GIT_BRANCH_NAME}) endif() -set(MILVUS_VERSION "0.5.1") +set(MILVUS_VERSION "${GIT_BRANCH_NAME}") string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]" MILVUS_VERSION "${MILVUS_VERSION}") find_package(ClangTools) @@ -71,7 +71,7 @@ if(MILVUS_VERSION_MAJOR STREQUAL "" OR MILVUS_VERSION_MINOR STREQUAL "" OR MILVUS_VERSION_PATCH STREQUAL "") message(WARNING "Failed to determine Milvus version from git branch name") - set(MILVUS_VERSION "0.5.0") + set(MILVUS_VERSION "0.5.2") endif() message(STATUS "Build version = ${MILVUS_VERSION}")