From 17bac7d6d63ea596dd9ec6906918d4d4b2a4ccd0 Mon Sep 17 00:00:00 2001
From: ArcueidType <981354012@qq.com>
Date: Fri, 3 Jan 2025 23:08:15 +0800
Subject: [PATCH] manager permanent bug fix

---
 table/vtable_manager.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/table/vtable_manager.cc b/table/vtable_manager.cc
index 8650add..654ce37 100644
--- a/table/vtable_manager.cc
+++ b/table/vtable_manager.cc
@@ -150,10 +150,13 @@ void VTableManager::MaybeScheduleGarbageCollect() {
       if (vtables_.find(file_num) != vtables_.end() && vtables_[file_num].ref <= 0) {
         size += vtables_[file_num].table_size;
         delete_list.emplace_back(file_num);
-        auto it = std::remove(invalid_.begin(), invalid_.end(), file_num);
       }
     }
     if (size >= gc_threshold_) {
+      for (auto & file_num : delete_list) {
+        auto it = std::remove(invalid_.begin(), invalid_.end(), file_num);
+        RemoveVTable(file_num);
+      }
       auto* gc_info = new GCInfo;
       gc_info->dbname = dbname_;
       gc_info->file_list = delete_list;