This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git


The following commit(s) were added to refs/heads/master by this push:
     new f2d2e4b  [Unused] Remove unused GC function in DataDir (#3019)
f2d2e4b is described below

commit f2d2e4bffdc720f5de3d9498b0a246a6ca5d7b46
Author: lichaoyong <[email protected]>
AuthorDate: Fri Feb 28 21:47:41 2020 +0800

    [Unused] Remove unused GC function in DataDir (#3019)
---
 be/src/olap/data_dir.cpp | 67 ------------------------------------------------
 be/src/olap/data_dir.h   |  4 ---
 2 files changed, 71 deletions(-)

diff --git a/be/src/olap/data_dir.cpp b/be/src/olap/data_dir.cpp
index 43bf843..23f1c8e 100644
--- a/be/src/olap/data_dir.cpp
+++ b/be/src/olap/data_dir.cpp
@@ -799,73 +799,6 @@ void DataDir::remove_pending_ids(const std::string& id) {
     _pending_path_ids.erase(id);
 }
 
-// path consumer
-void DataDir::perform_path_gc() {
-    // init the set of valid path
-    // validate the path in data dir
-    std::unique_lock<std::mutex> lck(_check_path_mutex);
-    cv.wait(lck, [this]{return _all_check_paths.size() > 0;});
-    LOG(INFO) << "start to path gc.";
-    int counter = 0;
-    for (auto& path : _all_check_paths) {
-        ++counter;
-        if (config::path_gc_check_step > 0 && counter % 
config::path_gc_check_step == 0) {
-            usleep(config::path_gc_check_step_interval_ms * 1000);
-        }
-        TTabletId tablet_id = -1;
-        TSchemaHash schema_hash = -1;
-        bool is_valid = 
_tablet_manager->get_tablet_id_and_schema_hash_from_path(path,
-                &tablet_id, &schema_hash);
-        if (!is_valid) {
-            LOG(WARNING) << "unknown path:" << path;
-            continue;
-        }
-        if (tablet_id > 0 && schema_hash > 0) {
-            // tablet schema hash path or rowset file path
-            // gc thread should get tablet include deleted tablet
-            // or it will delete rowset file before tablet is garbage collected
-            TabletSharedPtr tablet = _tablet_manager->get_tablet(tablet_id, 
schema_hash, true);
-            if (tablet == nullptr) {
-                std::string tablet_path_id = TABLET_ID_PREFIX + 
std::to_string(tablet_id);
-                bool exist_in_pending = _check_pending_ids(tablet_path_id);
-                if (!exist_in_pending) {
-                    _process_garbage_path(path);
-                }
-            } else {
-                bool valid = tablet->check_path(path);
-                // TODO(ygl): should change a method to do gc
-                if (!valid) {
-                    RowsetId rowset_id;
-                    bool is_rowset_file = 
_tablet_manager->get_rowset_id_from_path(path, &rowset_id);
-                    if (is_rowset_file) {
-                        std::string rowset_path_id = ROWSET_ID_PREFIX + 
rowset_id.to_string();
-                        bool exist_in_pending = 
_check_pending_ids(rowset_path_id);
-                        if (!exist_in_pending) {
-                            _process_garbage_path(path);
-                        }
-                    }
-                }
-            }
-        } else if (tablet_id > 0 && schema_hash <= 0) {
-            // tablet id path
-            if (!FileUtils::is_dir(path)) {
-                LOG(WARNING) << "unknown path:" << path;
-                continue;
-            }
-            bool exist = _tablet_manager->check_tablet_id_exist(tablet_id);
-            if (!exist) {
-                std::string tablet_path_id = TABLET_ID_PREFIX + 
std::to_string(tablet_id);
-                bool exist_in_pending = _check_pending_ids(tablet_path_id);
-                if (!exist_in_pending) {
-                    _process_garbage_path(path);
-                }
-            }
-        }
-    }
-    _all_check_paths.clear();
-    LOG(INFO) << "finished one time path gc.";
-}
-
 void DataDir::perform_path_gc_by_rowsetid() {
     // init the set of valid path
     // validate the path in data dir
diff --git a/be/src/olap/data_dir.h b/be/src/olap/data_dir.h
index 253ea81..6b8f115 100644
--- a/be/src/olap/data_dir.h
+++ b/be/src/olap/data_dir.h
@@ -110,10 +110,6 @@ public:
     // this is a producer function. After scan, it will notify the 
perform_path_gc function to gc
     void perform_path_scan();
 
-    // this function is a consumer function
-    // this function will collect garbage paths scaned by last function
-    void perform_path_gc();
-
     void perform_path_gc_by_rowsetid();
 
     OLAPStatus remove_old_meta_and_files();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to