]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/onode-staged-tree: disable concurrent gc
authorYingxin Cheng <yingxin.cheng@intel.com>
Fri, 2 Apr 2021 06:51:02 +0000 (14:51 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Thu, 29 Apr 2021 08:03:37 +0000 (16:03 +0800)
Fix test/perf hang according to 947b103eed0720bc6276274b1b707b221b895a62

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
src/test/crimson/seastore/onode_tree/test_staged_fltree.cc
src/tools/crimson/perf_staged_fltree.cc

index 3a5bde87496487b6994ba201b5a0d17e21dc007b..52dea7e54e133a38e75b85fcd9eab02d448f2671 100644 (file)
@@ -1214,16 +1214,19 @@ TEST_F(d_seastore_tm_test_t, 6_random_insert_leaf_node)
       auto t = tm->create_transaction();
       tree->bootstrap(*t).unsafe_get();
       tm->submit_transaction(std::move(t)).unsafe_get();
+      segment_cleaner->run_until_halt().get0();
     }
     {
       auto t = tm->create_transaction();
       tree->insert(*t).unsafe_get();
       tm->submit_transaction(std::move(t)).unsafe_get();
+      segment_cleaner->run_until_halt().get0();
     }
     {
       auto t = tm->create_transaction();
       tree->get_stats(*t).unsafe_get();
       tm->submit_transaction(std::move(t)).unsafe_get();
+      segment_cleaner->run_until_halt().get0();
     }
     if constexpr (TEST_SEASTORE) {
       logger().info("seastore replay begin");
index cdda6a9f0dfa2cc1290a06127cbdeac8c0080048..09f8ddc815da23c5e46d48ad7afd415004ae803e 100644 (file)
@@ -35,12 +35,14 @@ class PerfTree : public TMTestState {
           auto t = tm->create_transaction();
           tree->bootstrap(*t).unsafe_get();
           tm->submit_transaction(std::move(t)).unsafe_get();
+          segment_cleaner->run_until_halt().get0();
         }
         {
           auto t = tm->create_transaction();
           tree->insert(*t).unsafe_get();
           auto start_time = mono_clock::now();
           tm->submit_transaction(std::move(t)).unsafe_get();
+          segment_cleaner->run_until_halt().get0();
           std::chrono::duration<double> duration = mono_clock::now() - start_time;
           logger().warn("submit_transaction() done! {}s", duration.count());
         }
@@ -48,6 +50,7 @@ class PerfTree : public TMTestState {
           auto t = tm->create_transaction();
           tree->get_stats(*t).unsafe_get();
           tm->submit_transaction(std::move(t)).unsafe_get();
+          segment_cleaner->run_until_halt().get0();
         }
         {
           // Note: tm->create_weak_transaction() can also work, but too slow.