未验证 提交 7a759709 编写于 作者: J Jin Hai 提交者: GitHub

Merge pull request #196 from yhmo/0.5.2

#194 Search faild: Table file doesnt exist
...@@ -5,6 +5,7 @@ Please mark all change in change log and use the ticket from JIRA. ...@@ -5,6 +5,7 @@ Please mark all change in change log and use the ticket from JIRA.
# Milvus 0.5.2 (TODO) # Milvus 0.5.2 (TODO)
## Bug ## Bug
- \#194 - Search faild: message="Table file doesn't exist"
## Feature ## Feature
......
...@@ -173,6 +173,7 @@ MySQLMetaImpl::~MySQLMetaImpl() { ...@@ -173,6 +173,7 @@ MySQLMetaImpl::~MySQLMetaImpl() {
Status Status
MySQLMetaImpl::NextTableId(std::string& table_id) { MySQLMetaImpl::NextTableId(std::string& table_id) {
std::lock_guard<std::mutex> lock(genid_mutex_); // avoid duplicated id
std::stringstream ss; std::stringstream ss;
SimpleIDGenerator g; SimpleIDGenerator g;
ss << g.GetNextIDNumber(); ss << g.GetNextIDNumber();
...@@ -182,6 +183,7 @@ MySQLMetaImpl::NextTableId(std::string& table_id) { ...@@ -182,6 +183,7 @@ MySQLMetaImpl::NextTableId(std::string& table_id) {
Status Status
MySQLMetaImpl::NextFileId(std::string& file_id) { MySQLMetaImpl::NextFileId(std::string& file_id) {
std::lock_guard<std::mutex> lock(genid_mutex_); // avoid duplicated id
std::stringstream ss; std::stringstream ss;
SimpleIDGenerator g; SimpleIDGenerator g;
ss << g.GetNextIDNumber(); ss << g.GetNextIDNumber();
......
...@@ -136,6 +136,7 @@ class MySQLMetaImpl : public Meta { ...@@ -136,6 +136,7 @@ class MySQLMetaImpl : public Meta {
std::shared_ptr<MySQLConnectionPool> mysql_connection_pool_; std::shared_ptr<MySQLConnectionPool> mysql_connection_pool_;
bool safe_grab_ = false; bool safe_grab_ = false;
std::mutex genid_mutex_;
// std::mutex connectionMutex_; // std::mutex connectionMutex_;
}; // DBMetaImpl }; // DBMetaImpl
......
...@@ -97,6 +97,7 @@ SqliteMetaImpl::~SqliteMetaImpl() { ...@@ -97,6 +97,7 @@ SqliteMetaImpl::~SqliteMetaImpl() {
Status Status
SqliteMetaImpl::NextTableId(std::string &table_id) { SqliteMetaImpl::NextTableId(std::string &table_id) {
std::lock_guard<std::mutex> lock(genid_mutex_); // avoid duplicated id
std::stringstream ss; std::stringstream ss;
SimpleIDGenerator g; SimpleIDGenerator g;
ss << g.GetNextIDNumber(); ss << g.GetNextIDNumber();
...@@ -106,6 +107,7 @@ SqliteMetaImpl::NextTableId(std::string &table_id) { ...@@ -106,6 +107,7 @@ SqliteMetaImpl::NextTableId(std::string &table_id) {
Status Status
SqliteMetaImpl::NextFileId(std::string &file_id) { SqliteMetaImpl::NextFileId(std::string &file_id) {
std::lock_guard<std::mutex> lock(genid_mutex_); // avoid duplicated id
std::stringstream ss; std::stringstream ss;
SimpleIDGenerator g; SimpleIDGenerator g;
ss << g.GetNextIDNumber(); ss << g.GetNextIDNumber();
......
...@@ -132,6 +132,7 @@ class SqliteMetaImpl : public Meta { ...@@ -132,6 +132,7 @@ class SqliteMetaImpl : public Meta {
private: private:
const DBMetaOptions options_; const DBMetaOptions options_;
std::mutex meta_mutex_; std::mutex meta_mutex_;
std::mutex genid_mutex_;
}; // DBMetaImpl }; // DBMetaImpl
} // namespace meta } // namespace meta
......
...@@ -185,7 +185,7 @@ TEST_F(MySqlMetaTest, ARCHIVE_TEST_DISK) { ...@@ -185,7 +185,7 @@ TEST_F(MySqlMetaTest, ARCHIVE_TEST_DISK) {
options.archive_conf_ = milvus::engine::ArchiveConf("delete", "disk:11"); options.archive_conf_ = milvus::engine::ArchiveConf("delete", "disk:11");
int mode = milvus::engine::DBOptions::MODE::SINGLE; 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"; auto table_id = "meta_test_group";
milvus::engine::meta::TableSchema table; milvus::engine::meta::TableSchema table;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册