Files
scylladb/sstables
Ernest Zaslavsky 2b8f90e107 sstables: use make_component_sink for stream sink output
sstable_stream_sink_impl::output() used open_file() followed by
make_file_output_stream() to create the writable stream. For object
storage (S3/GCS) backends, open_file() always returns a readable_file
(read-only), so any write through file::dma_write() throws
std::logic_error("unsupported operation on s3 readable file"). This
broke all tablet migration streaming with S3-backed storage.

Replace the open_file() + make_file_output_stream() path with
make_component_sink() + output_stream<char>(), which correctly
produces an upload sink for object storage and a file_data_sink for
local filesystem. This is consistent with how save_metadata() already
writes to object storage in the same class. The maybe_wrap_sink()
call inside make_component_sink preserves file_io_extensions support
(e.g., encryption).
2026-06-02 09:55:11 +03:00
..
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00
2026-04-12 19:46:33 +03:00