1616
1717#include " paimon/core/append/bucketed_append_compact_manager.h"
1818
19- #include < atomic>
2019#include < chrono>
2120#include < future>
2221#include < optional>
@@ -76,7 +75,7 @@ class BucketedAppendCompactManagerTest : public testing::Test {
7675 executor_, to_compact_before_pick,
7776 /* dv_maintainer=*/ nullptr , min_file_num, target_file_size, threshold,
7877 /* force_rewrite_all_files=*/ false , /* rewriter=*/ nullptr , /* reporter=*/ nullptr ,
79- /* cancel_flag =*/ std::make_shared<std::atomic_bool>( false ));
78+ /* cancellation_controller =*/ std::make_shared<CancellationController>( ));
8079 auto actual = manager.PickCompactBefore ();
8180 if (expected_present) {
8281 ASSERT_TRUE (actual.has_value ());
@@ -267,14 +266,14 @@ TEST_F(BucketedAppendCompactManagerTest, TestPick) {
267266}
268267
269268TEST_F (BucketedAppendCompactManagerTest, TestCancelCompactionPropagatesToRewriteLoop) {
270- auto cancel_flag = std::make_shared<std::atomic_bool>( false );
269+ auto cancellation_controller = std::make_shared<CancellationController>( );
271270 auto exit_signal = std::make_shared<std::promise<void >>();
272271 auto exit_future = exit_signal->get_future ();
273272
274- auto rewriter = [cancel_flag ,
273+ auto rewriter = [cancellation_controller ,
275274 exit_signal](const std::vector<std::shared_ptr<DataFileMeta>>& to_compact)
276275 -> Result<std::vector<std::shared_ptr<DataFileMeta>>> {
277- while (!cancel_flag-> load (std::memory_order_relaxed )) {
276+ while (!cancellation_controller-> IsCancelled ( )) {
278277 std::this_thread::sleep_for (std::chrono::milliseconds (1 ));
279278 }
280279 exit_signal->set_value ();
@@ -288,7 +287,7 @@ TEST_F(BucketedAppendCompactManagerTest, TestCancelCompactionPropagatesToRewrite
288287 /* target_file_size=*/ 1024 ,
289288 /* compaction_file_size=*/ 700 ,
290289 /* force_rewrite_all_files=*/ false , rewriter,
291- /* reporter=*/ nullptr , cancel_flag );
290+ /* reporter=*/ nullptr , cancellation_controller );
292291
293292 ASSERT_OK (manager.TriggerCompaction (/* full_compaction=*/ true ));
294293 manager.CancelCompaction ();
@@ -297,7 +296,8 @@ TEST_F(BucketedAppendCompactManagerTest, TestCancelCompactionPropagatesToRewrite
297296}
298297
299298TEST_F (BucketedAppendCompactManagerTest, TestTriggerCompactionResetsCancelFlag) {
300- auto cancel_flag = std::make_shared<std::atomic_bool>(true );
299+ auto cancellation_controller = std::make_shared<CancellationController>();
300+ cancellation_controller->Cancel ();
301301 auto rewriter = [](const std::vector<std::shared_ptr<DataFileMeta>>& to_compact)
302302 -> Result<std::vector<std::shared_ptr<DataFileMeta>>> { return to_compact; };
303303
@@ -308,10 +308,10 @@ TEST_F(BucketedAppendCompactManagerTest, TestTriggerCompactionResetsCancelFlag)
308308 /* target_file_size=*/ 1024 ,
309309 /* compaction_file_size=*/ 700 ,
310310 /* force_rewrite_all_files=*/ false , rewriter,
311- /* reporter=*/ nullptr , cancel_flag );
311+ /* reporter=*/ nullptr , cancellation_controller );
312312
313313 ASSERT_OK (manager.TriggerCompaction (/* full_compaction=*/ true ));
314- EXPECT_FALSE (cancel_flag-> load (std::memory_order_relaxed ));
314+ EXPECT_FALSE (cancellation_controller-> IsCancelled ( ));
315315}
316316
317317} // namespace paimon::test
0 commit comments