diff --git a/cpp/src/db/DBImpl.cpp b/cpp/src/db/DBImpl.cpp index 17280b37d3820168412749211d75ec0a5901bec7..e39942d35d776c2ed0b706af75245a9ab7d3d933 100644 --- a/cpp/src/db/DBImpl.cpp +++ b/cpp/src/db/DBImpl.cpp @@ -13,6 +13,7 @@ #include "scheduler/context/SearchContext.h" #include "scheduler/context/DeleteContext.h" #include "utils/TimeRecorder.h" +#include "MetaConsts.h" #include #include @@ -595,7 +596,12 @@ void DBImpl::BackgroundCompaction(std::set table_ids) { } meta_ptr_->Archive(); - meta_ptr_->CleanUpFilesWithTTL(1); + + int ttl = 1; + if (options_.mode == "cluster") { + ttl = meta::D_SEC; + } + meta_ptr_->CleanUpFilesWithTTL(ttl); } void DBImpl::StartBuildIndexTask() { diff --git a/cpp/src/db/Factories.cpp b/cpp/src/db/Factories.cpp index fd005d1ff560bcd0e9bd7cb27c9406abdd0590a9..a6998d10dc02670d236f3fde90507cb298db42e6 100644 --- a/cpp/src/db/Factories.cpp +++ b/cpp/src/db/Factories.cpp @@ -81,9 +81,11 @@ std::shared_ptr DBMetaImplFactory::Build(const DBMetaOptions& metaOp std::string dialect = pieces_match[1].str(); std::transform(dialect.begin(), dialect.end(), dialect.begin(), ::tolower); if (dialect.find("mysql") != std::string::npos) { + ENGINE_LOG_DEBUG << "Using MySQL"; return std::make_shared(meta::MySQLMetaImpl(metaOptions)); } else if (dialect.find("sqlite") != std::string::npos) { + ENGINE_LOG_DEBUG << "Using SQLite"; return std::make_shared(meta::DBMetaImpl(metaOptions)); } else { diff --git a/cpp/src/db/Options.h b/cpp/src/db/Options.h index ddb7d1bff5eb51740517412bf267c30838f8770e..039134ebaa21c8536782046d73e794a2ec9b38b9 100644 --- a/cpp/src/db/Options.h +++ b/cpp/src/db/Options.h @@ -47,6 +47,7 @@ struct Options { uint16_t merge_trigger_number = 2; size_t index_trigger_size = ONE_GB; //unit: byte DBMetaOptions meta; + std::string mode; }; // Options diff --git a/cpp/src/server/DBWrapper.cpp b/cpp/src/server/DBWrapper.cpp index 0721de1325605928ce6943fabac476ba26c1615e..c38c5d8843345ac54b8f84997fd33b8649106721 100644 --- a/cpp/src/server/DBWrapper.cpp +++ b/cpp/src/server/DBWrapper.cpp @@ -23,6 +23,7 @@ DBWrapper::DBWrapper() { if(index_size > 0) {//ensure larger than zero, unit is MB opt.index_trigger_size = (size_t)index_size * engine::ONE_MB; } + opt.mode = config.GetValue(CONFIG_CLUSTER_MODE, "single"); CommonUtil::CreateDirectory(opt.meta.path); diff --git a/cpp/src/server/ServerConfig.h b/cpp/src/server/ServerConfig.h index dd7c9d2966046656859617a4099c449cbdc9776d..aa77b081d78a6da0e6796b0aab5162d2f4866ca4 100644 --- a/cpp/src/server/ServerConfig.h +++ b/cpp/src/server/ServerConfig.h @@ -19,6 +19,7 @@ static const std::string CONFIG_SERVER_ADDRESS = "address"; static const std::string CONFIG_SERVER_PORT = "port"; static const std::string CONFIG_SERVER_PROTOCOL = "transfer_protocol"; static const std::string CONFIG_SERVER_MODE = "server_mode"; +static const std::string CONFIG_CLUSTER_MODE = "mode"; static const std::string CONFIG_DB = "db_config"; static const std::string CONFIG_DB_URL = "db_backend_url";