mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-28 18:50:53 +00:00
Before introduction of PR#15524 the removal had always been invoked via finally() continuation. In spite of making flush() noexcept, the mentioned PR modified the logic. If flush() returns exceptional future, then the removal is not performed. This change restores the old behavior - removal operation is always called. Since now, the logic of compaction_group::stop() is as follows: - firstly, it waits for completion of flush() via seastar::coroutine::as_future() to avoid premature exception - then it executes compaction_manager.remove() - in the end it inspects the future returned from flush() to re-throw the exception if the operation failed Fixed: scylladb#16751 Signed-off-by: Patryk Wrobel <patryk.wrobel@scylladb.com> Closes scylladb/scylladb#16940