From 70fda0eda00fb63d2df225dd6ec70d8e132283aa Mon Sep 17 00:00:00 2001 From: Benny Halevy Date: Mon, 4 Feb 2019 19:40:19 +0200 Subject: [PATCH] sstables: delete_atomically: delete sstables in a thread In prepaton for implementing a pending_delete log file. Signed-off-by: Benny Halevy --- sstables/sstables.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sstables/sstables.cc b/sstables/sstables.cc index c63a9794e3..f3d205c4c9 100644 --- a/sstables/sstables.cc +++ b/sstables/sstables.cc @@ -3166,8 +3166,10 @@ delete_sstable_and_maybe_large_data_entries(shared_sstable sst, const db::large_ future<> delete_atomically(std::vector ssts, const db::large_data_handler& large_data_handler) { // FIXME: this needs to be done atomically (using a log file of sstables we intend to delete) - return parallel_for_each(ssts, [&large_data_handler] (shared_sstable sst) { - return delete_sstable_and_maybe_large_data_entries(sst, large_data_handler); + return seastar::async([ssts = std::move(ssts), &large_data_handler] { + parallel_for_each(ssts, [&large_data_handler] (shared_sstable sst) { + return delete_sstable_and_maybe_large_data_entries(sst, large_data_handler); + }).get(); }); }