mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-22 01:20:39 +00:00
" When writing streamed data into sstables, while using time window compaction strategy, we have to emit a new sstable for each time window. Otherwise we can end up with sstables, mixing data from wildly different windows, ruining the compaction strategy's ability to drop entire sstables when all data within is expired. This gets worse as these mixed sstables get compacted together with sstables that used to contain a single time window. This series provides a solution to this by segregating the data by its atom's the time-windows. This is done on the new RPC streaming and the new row-level, repair, memtable-flush and compaction, ensuring that the segregation requirement is respected at all times. Fixes: #2687 " * 'segregate-data-into-sstables-by-time-window-streaming/v2.1' of ssh://github.com/denesb/scylla: streaming,repair: restore indentation repair: pass the data stream through the compaction strategy's interposer consumer streaming: pass the data stream through the compaction strategy's interposer consumer TWCS: implement add_interposer_consumer() compaction_strategy: add add_interposer_consumer() Add mutation_source_metadata tests: add unit test for timestamp_based_splitting_writer Add timestamp_based_splitting_writer Introduce mutation_writer namespace