mirror of https://github.com/milvus-io/milvus.git
Merge branch '0.6.0' into 0.6.0
commit
82e011d147
|
@ -34,6 +34,7 @@ Please mark all change in change log and use the ticket from JIRA.
|
|||
- \#543 - client raise exception in shards when search results is empty
|
||||
- \#545 - Avoid dead circle of build index thread when error occurs
|
||||
- \#552 - Server down during building index_type: IVF_PQ using GPU-edition
|
||||
- \#561 - Milvus server should report exception/error message or terminate on mysql metadata backend error
|
||||
|
||||
## Feature
|
||||
- \#12 - Pure CPU version for Milvus
|
||||
|
|
|
@ -27,9 +27,8 @@ pipeline {
|
|||
environment {
|
||||
PROJECT_NAME = "milvus"
|
||||
LOWER_BUILD_TYPE = params.BUILD_TYPE.toLowerCase()
|
||||
SEMVER = "${BRANCH_NAME}"
|
||||
JOBNAMES = env.JOB_NAME.split('/')
|
||||
PIPELINE_NAME = "${JOBNAMES[0]}"
|
||||
SEMVER = "${BRANCH_NAME.contains('/') ? BRANCH_NAME.substring(BRANCH_NAME.lastIndexOf('/') + 1) : '${BRANCH_NAME}'}"
|
||||
PIPELINE_NAME = "${env.JOB_NAME.contains('/') ? env.JOB_NAME.getAt(0..(env.JOB_NAME.indexOf('/') - 1)) : '${env.JOB_NAME}'}"
|
||||
}
|
||||
|
||||
stages {
|
||||
|
|
|
@ -18,9 +18,8 @@ pipeline {
|
|||
environment {
|
||||
PROJECT_NAME = "milvus"
|
||||
LOWER_BUILD_TYPE = params.BUILD_TYPE.toLowerCase()
|
||||
SEMVER = "${BRANCH_NAME}"
|
||||
JOBNAMES = env.JOB_NAME.split('/')
|
||||
PIPELINE_NAME = "${JOBNAMES[0]}"
|
||||
SEMVER = "${BRANCH_NAME.contains('/') ? BRANCH_NAME.substring(BRANCH_NAME.lastIndexOf('/') + 1) : '${BRANCH_NAME}'}"
|
||||
PIPELINE_NAME = "${env.JOB_NAME.contains('/') ? env.JOB_NAME.getAt(0..(env.JOB_NAME.indexOf('/') - 1)) : '${env.JOB_NAME}'}"
|
||||
}
|
||||
|
||||
stages {
|
||||
|
|
|
@ -290,45 +290,50 @@ MySQLMetaImpl::Initialize() {
|
|||
// step 4: validate to avoid open old version schema
|
||||
ValidateMetaSchema();
|
||||
|
||||
// step 5: create meta tables
|
||||
try {
|
||||
if (mode_ != DBOptions::MODE::CLUSTER_READONLY) {
|
||||
CleanUpShadowFiles();
|
||||
}
|
||||
// step 5: clean shadow files
|
||||
if (mode_ != DBOptions::MODE::CLUSTER_READONLY) {
|
||||
CleanUpShadowFiles();
|
||||
}
|
||||
|
||||
{
|
||||
mysqlpp::ScopedConnection connectionPtr(*mysql_connection_pool_, safe_grab_);
|
||||
// step 6: try connect mysql server
|
||||
mysqlpp::ScopedConnection connectionPtr(*mysql_connection_pool_, safe_grab_);
|
||||
|
||||
if (connectionPtr == nullptr) {
|
||||
return Status(DB_ERROR, "Failed to connect to meta server(mysql)");
|
||||
}
|
||||
if (connectionPtr == nullptr) {
|
||||
std::string msg = "Failed to connect MySQL meta server: " + uri;
|
||||
ENGINE_LOG_ERROR << msg;
|
||||
throw Exception(DB_INVALID_META_URI, msg);
|
||||
}
|
||||
|
||||
if (!connectionPtr->thread_aware()) {
|
||||
ENGINE_LOG_ERROR << "MySQL++ wasn't built with thread awareness! Can't run without it.";
|
||||
return Status(DB_ERROR, "MySQL++ wasn't built with thread awareness! Can't run without it.");
|
||||
}
|
||||
mysqlpp::Query InitializeQuery = connectionPtr->query();
|
||||
if (!connectionPtr->thread_aware()) {
|
||||
std::string msg =
|
||||
"Failed to initialize MySQL meta backend: MySQL client component wasn't built with thread awareness";
|
||||
ENGINE_LOG_ERROR << msg;
|
||||
throw Exception(DB_INVALID_META_URI, msg);
|
||||
}
|
||||
|
||||
InitializeQuery << "CREATE TABLE IF NOT EXISTS " << TABLES_SCHEMA.name() << " ("
|
||||
<< TABLES_SCHEMA.ToString() + ");";
|
||||
// step 7: create meta table Tables
|
||||
mysqlpp::Query InitializeQuery = connectionPtr->query();
|
||||
|
||||
ENGINE_LOG_DEBUG << "MySQLMetaImpl::Initialize: " << InitializeQuery.str();
|
||||
InitializeQuery << "CREATE TABLE IF NOT EXISTS " << TABLES_SCHEMA.name() << " (" << TABLES_SCHEMA.ToString() + ");";
|
||||
|
||||
if (!InitializeQuery.exec()) {
|
||||
return HandleException("Initialization Error", InitializeQuery.error());
|
||||
}
|
||||
ENGINE_LOG_DEBUG << "MySQLMetaImpl::Initialize: " << InitializeQuery.str();
|
||||
|
||||
InitializeQuery << "CREATE TABLE IF NOT EXISTS " << TABLEFILES_SCHEMA.name() << " ("
|
||||
<< TABLEFILES_SCHEMA.ToString() + ");";
|
||||
if (!InitializeQuery.exec()) {
|
||||
std::string msg = "Failed to create meta table 'Tables' in MySQL";
|
||||
ENGINE_LOG_ERROR << msg;
|
||||
throw Exception(DB_META_TRANSACTION_FAILED, msg);
|
||||
}
|
||||
|
||||
ENGINE_LOG_DEBUG << "MySQLMetaImpl::Initialize: " << InitializeQuery.str();
|
||||
// step 8: create meta table TableFiles
|
||||
InitializeQuery << "CREATE TABLE IF NOT EXISTS " << TABLEFILES_SCHEMA.name() << " ("
|
||||
<< TABLEFILES_SCHEMA.ToString() + ");";
|
||||
|
||||
if (!InitializeQuery.exec()) {
|
||||
return HandleException("Initialization Error", InitializeQuery.error());
|
||||
}
|
||||
} // Scoped Connection
|
||||
} catch (std::exception& e) {
|
||||
return HandleException("GENERAL ERROR DURING INITIALIZATION", e.what());
|
||||
ENGINE_LOG_DEBUG << "MySQLMetaImpl::Initialize: " << InitializeQuery.str();
|
||||
|
||||
if (!InitializeQuery.exec()) {
|
||||
std::string msg = "Failed to create meta table 'TableFiles' in MySQL";
|
||||
ENGINE_LOG_ERROR << msg;
|
||||
throw Exception(DB_META_TRANSACTION_FAILED, msg);
|
||||
}
|
||||
|
||||
return Status::OK();
|
||||
|
|
Loading…
Reference in New Issue