mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-22 01:20:39 +00:00
The partition based splitting writer (used by scrub) was found to be exception-unsafe, converting an `std::bad_alloc` to an assert failure. This series fixes the problem and adds a unit test checking the exception safety against `std::bad_alloc`:s fixing any other related problems found. Fixes: https://github.com/scylladb/scylla/issues/9452 Closes #9453 * github.com:scylladb/scylla: test: mutation_writer_test: add exception safety test for segregate_by_partition() mutation_writer: segregate_by_partition(): make exception safe mutation_reader: queue_reader_handle: make abandoned() exception safe mutation_writer: feed_writers(): make it a coroutine mutation_writer: partition_based_splitting_writer: erase old bucket if we fail to create replacement