mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-20 00:20:47 +00:00
bucket_writer::close waits for the _consumer_fut. It is called both after consume_end_of_stream() and after abort(). _consumer_fut is expected to return an exception on the abort path. Wait for it and drop any exception so it won't be abandoned as seen in #7904. With that moved to close() time, consume_end_of_stream doesn't need to return a future and is made void all the way in the stack. This is ok since queue_reader_handle::push_end_of_stream is synchronous too. Added a unit test that aborts the reader consumer during `segregate_by_timestamp`, reproducing the Exceptional future ignored issue without the fix. Signed-off-by: Benny Halevy <bhalevy@scylladb.com>