diff --git a/be/src/tools/meta_tool.cpp b/be/src/tools/meta_tool.cpp index 076b4fae18b025..e4ac6493da9a5a 100644 --- a/be/src/tools/meta_tool.cpp +++ b/be/src/tools/meta_tool.cpp @@ -38,7 +38,6 @@ #include "olap/options.h" #include "olap/rowset/segment_v2/binary_plain_page.h" #include "olap/rowset/segment_v2/column_reader.h" -#include "olap/storage_engine.h" #include "olap/tablet_meta.h" #include "olap/tablet_meta_manager.h" #include "olap/utils.h" @@ -47,7 +46,6 @@ using std::filesystem::path; using doris::DataDir; -using doris::StorageEngine; using doris::OlapMeta; using doris::Status; using doris::TabletMeta; @@ -142,7 +140,7 @@ void delete_meta(DataDir* data_dir) { std::cout << "delete meta successfully" << std::endl; } -Status init_data_dir(StorageEngine& engine, const std::string& dir, std::unique_ptr* ret) { +Status init_data_dir(const std::string& dir, std::unique_ptr* ret) { std::string root_path; RETURN_IF_ERROR(doris::io::global_local_filesystem()->canonicalize(dir, &root_path)); doris::StorePath path; @@ -152,7 +150,8 @@ Status init_data_dir(StorageEngine& engine, const std::string& dir, std::unique_ return Status::InternalError("parse root path failed"); } - auto p = std::make_unique(engine, path.path, path.capacity_bytes, path.storage_medium); + std::unique_ptr p( + new (std::nothrow) DataDir(path.path, path.capacity_bytes, path.storage_medium)); if (p == nullptr) { std::cout << "new data dir failed" << std::endl; return Status::InternalError("new data dir failed"); @@ -178,7 +177,6 @@ void batch_delete_meta(const std::string& tablet_file) { int err_num = 0; int delete_num = 0; int total_num = 0; - StorageEngine engine(doris::EngineOptions {}); std::unordered_map> dir_map; while (std::getline(infile, line)) { total_num++; @@ -200,7 +198,7 @@ void batch_delete_meta(const std::string& tablet_file) { if (dir_map.find(dir) == dir_map.end()) { // new data dir, init it std::unique_ptr data_dir_p; - Status st = init_data_dir(engine, dir, &data_dir_p); + Status st = init_data_dir(dir, &data_dir_p); if (!st.ok()) { std::cout << "invalid root path:" << FLAGS_root_path << ", error: " << st.to_string() << std::endl; @@ -352,9 +350,8 @@ int main(int argc, char** argv) { return -1; } - StorageEngine engine(doris::EngineOptions {}); std::unique_ptr data_dir; - Status st = init_data_dir(engine, FLAGS_root_path, &data_dir); + Status st = init_data_dir(FLAGS_root_path, &data_dir); if (!st.ok()) { std::cout << "invalid root path:" << FLAGS_root_path << ", error: " << st.to_string() << std::endl;