提交 5aecaff4 编写于 作者: Z zhiru 提交者: jinhai

update


Former-commit-id: c371d0147380b15f93d111af3a5aafd7652576b3
上级 de9e663a
server_config: server_config:
address: 0.0.0.0 address: 0.0.0.0
port: 19531 # the port milvus listen to, default: 19530, range: 1025 ~ 65534 port: 19530 # the port milvus listen to, default: 19530, range: 1025 ~ 65534
gpu_index: 0 # the gpu milvus use, default: 0, range: 0 ~ gpu number - 1 gpu_index: 0 # the gpu milvus use, default: 0, range: 0 ~ gpu number - 1
mode: cluster # milvus deployment type: single, cluster mode: single # milvus deployment type: single, cluster, read_only
db_config: db_config:
db_path: /tmp/milvus db_path: /tmp/milvus
......
...@@ -136,7 +136,7 @@ DBImpl::DBImpl(const Options& options) ...@@ -136,7 +136,7 @@ DBImpl::DBImpl(const Options& options)
shutting_down_(false), shutting_down_(false),
compact_thread_pool_(1, 1), compact_thread_pool_(1, 1),
index_thread_pool_(1, 1) { index_thread_pool_(1, 1) {
meta_ptr_ = DBMetaImplFactory::Build(options.meta); meta_ptr_ = DBMetaImplFactory::Build(options.meta, options.mode);
mem_mgr_ = std::make_shared<MemManager>(meta_ptr_, options_); mem_mgr_ = std::make_shared<MemManager>(meta_ptr_, options_);
// mem_mgr_ = (MemManagerPtr)(new MemManager(meta_ptr_, options_)); // mem_mgr_ = (MemManagerPtr)(new MemManager(meta_ptr_, options_));
if (options.mode != "read_only") { if (options.mode != "read_only") {
......
...@@ -53,7 +53,8 @@ std::shared_ptr<meta::DBMetaImpl> DBMetaImplFactory::Build() { ...@@ -53,7 +53,8 @@ std::shared_ptr<meta::DBMetaImpl> DBMetaImplFactory::Build() {
return std::shared_ptr<meta::DBMetaImpl>(new meta::DBMetaImpl(options)); return std::shared_ptr<meta::DBMetaImpl>(new meta::DBMetaImpl(options));
} }
std::shared_ptr<meta::Meta> DBMetaImplFactory::Build(const DBMetaOptions& metaOptions) { std::shared_ptr<meta::Meta> DBMetaImplFactory::Build(const DBMetaOptions& metaOptions,
const std::string& mode) {
std::string uri = metaOptions.backend_uri; std::string uri = metaOptions.backend_uri;
// if (uri.empty()) { // if (uri.empty()) {
...@@ -81,21 +82,21 @@ std::shared_ptr<meta::Meta> DBMetaImplFactory::Build(const DBMetaOptions& metaOp ...@@ -81,21 +82,21 @@ std::shared_ptr<meta::Meta> DBMetaImplFactory::Build(const DBMetaOptions& metaOp
std::string dialect = pieces_match[1].str(); std::string dialect = pieces_match[1].str();
std::transform(dialect.begin(), dialect.end(), dialect.begin(), ::tolower); std::transform(dialect.begin(), dialect.end(), dialect.begin(), ::tolower);
if (dialect.find("mysql") != std::string::npos) { if (dialect.find("mysql") != std::string::npos) {
ENGINE_LOG_DEBUG << "Using MySQL"; ENGINE_LOG_INFO << "Using MySQL";
return std::make_shared<meta::MySQLMetaImpl>(meta::MySQLMetaImpl(metaOptions)); return std::make_shared<meta::MySQLMetaImpl>(meta::MySQLMetaImpl(metaOptions, mode));
} }
else if (dialect.find("sqlite") != std::string::npos) { else if (dialect.find("sqlite") != std::string::npos) {
ENGINE_LOG_DEBUG << "Using SQLite"; ENGINE_LOG_DEBUG << "Using SQLite";
return std::make_shared<meta::DBMetaImpl>(meta::DBMetaImpl(metaOptions)); return std::make_shared<meta::DBMetaImpl>(meta::DBMetaImpl(metaOptions));
} }
else { else {
LOG(ERROR) << "Invalid dialect in URI: dialect = " << dialect; ENGINE_LOG_ERROR << "Invalid dialect in URI: dialect = " << dialect;
throw InvalidArgumentException("URI dialect is not mysql / sqlite"); throw InvalidArgumentException("URI dialect is not mysql / sqlite");
} }
} }
else { else {
LOG(ERROR) << "Wrong URI format: URI = " << uri; ENGINE_LOG_ERROR << "Wrong URI format: URI = " << uri;
throw InvalidArgumentException("Wrong URI format"); throw InvalidArgumentException("Wrong URI format ");
} }
} }
......
...@@ -28,7 +28,7 @@ struct OptionsFactory { ...@@ -28,7 +28,7 @@ struct OptionsFactory {
struct DBMetaImplFactory { struct DBMetaImplFactory {
static std::shared_ptr<meta::DBMetaImpl> Build(); static std::shared_ptr<meta::DBMetaImpl> Build();
static std::shared_ptr<meta::Meta> Build(const DBMetaOptions& metaOptions); static std::shared_ptr<meta::Meta> Build(const DBMetaOptions& metaOptions, const std::string& mode);
}; };
struct DBFactory { struct DBFactory {
......
...@@ -103,8 +103,9 @@ namespace meta { ...@@ -103,8 +103,9 @@ namespace meta {
return Status::OK(); return Status::OK();
} }
MySQLMetaImpl::MySQLMetaImpl(const DBMetaOptions &options_) MySQLMetaImpl::MySQLMetaImpl(const DBMetaOptions &options_, const std::string& mode)
: options_(options_) { : options_(options_),
mode_(mode) {
Initialize(); Initialize();
} }
...@@ -424,6 +425,14 @@ namespace meta { ...@@ -424,6 +425,14 @@ namespace meta {
} }
} //Scoped Connection } //Scoped Connection
// ConfigNode& serverConfig = ServerConfig::GetInstance().GetConfig(CONFIG_SERVER);
// opt.mode = serverConfig.GetValue(CONFIG_CLUSTER_MODE, "single");
if (mode_ != "single") {
DeleteTableFiles(table_id);
}
} catch (const BadQuery& er) { } catch (const BadQuery& er) {
// Handle any query errors // Handle any query errors
ENGINE_LOG_ERROR << "GENERAL ERROR WHEN DELETING TABLE" << ": " << er.what(); ENGINE_LOG_ERROR << "GENERAL ERROR WHEN DELETING TABLE" << ": " << er.what();
...@@ -448,10 +457,10 @@ namespace meta { ...@@ -448,10 +457,10 @@ namespace meta {
Query deleteTableFilesQuery = connectionPtr->query(); Query deleteTableFilesQuery = connectionPtr->query();
// //
deleteTableFilesQuery << "UPDATE TableFiles " << deleteTableFilesQuery << "UPDATE TableFiles " <<
"SET file_type = " << std::to_string(TableSchema::TO_DELETE) << ", " << "SET file_type = " << std::to_string(TableFileSchema::TO_DELETE) << ", " <<
"updated_time = " << std::to_string(utils::GetMicroSecTimeStamp()) << " " << "updated_time = " << std::to_string(utils::GetMicroSecTimeStamp()) << " " <<
"WHERE table_id = " << quote << table_id << " AND " << "WHERE table_id = " << quote << table_id << " AND " <<
"file_type <> " << std::to_string(TableSchema::TO_DELETE) << ";"; "file_type <> " << std::to_string(TableFileSchema::TO_DELETE) << ";";
if (!deleteTableFilesQuery.exec()) { if (!deleteTableFilesQuery.exec()) {
ENGINE_LOG_ERROR << "QUERY ERROR WHEN DELETING TABLE FILES"; ENGINE_LOG_ERROR << "QUERY ERROR WHEN DELETING TABLE FILES";
......
...@@ -22,7 +22,7 @@ namespace meta { ...@@ -22,7 +22,7 @@ namespace meta {
class MySQLMetaImpl : public Meta { class MySQLMetaImpl : public Meta {
public: public:
MySQLMetaImpl(const DBMetaOptions& options_); MySQLMetaImpl(const DBMetaOptions& options_, const std::string& mode);
virtual Status CreateTable(TableSchema& table_schema) override; virtual Status CreateTable(TableSchema& table_schema) override;
virtual Status DescribeTable(TableSchema& group_info_) override; virtual Status DescribeTable(TableSchema& group_info_) override;
...@@ -77,6 +77,7 @@ namespace meta { ...@@ -77,6 +77,7 @@ namespace meta {
Status Initialize(); Status Initialize();
const DBMetaOptions options_; const DBMetaOptions options_;
const std::string mode_;
std::shared_ptr<MySQLConnectionPool> mySQLConnectionPool_; std::shared_ptr<MySQLConnectionPool> mySQLConnectionPool_;
bool safe_grab = false; bool safe_grab = false;
......
...@@ -25,6 +25,10 @@ DBWrapper::DBWrapper() { ...@@ -25,6 +25,10 @@ DBWrapper::DBWrapper() {
} }
ConfigNode& serverConfig = ServerConfig::GetInstance().GetConfig(CONFIG_SERVER); ConfigNode& serverConfig = ServerConfig::GetInstance().GetConfig(CONFIG_SERVER);
opt.mode = serverConfig.GetValue(CONFIG_CLUSTER_MODE, "single"); opt.mode = serverConfig.GetValue(CONFIG_CLUSTER_MODE, "single");
if (opt.mode != "single" && opt.mode != "cluster" && opt.mode != "read_only") {
std::cout << "ERROR: mode specified in server_config is not one of ['single', 'cluster', 'read_only']" << std::endl;
kill(0, SIGUSR1);
}
//set archive config //set archive config
engine::ArchiveConf::CriteriaT criterial; engine::ArchiveConf::CriteriaT criterial;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册