mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-26 19:35:12 +00:00
This patch makes makes major compaction aware of time buckets for TWCS. That means that calling a major compaction with TWCS will not bundle all SSTables together, but rather split them based on their timestamps. There are two motivations for this work: 1. Telling users not to ever major compact is easier said than done: in practice due to a variety of circumstances it might end up being done in which case data will have a hard time expiring later. 2. We are about to start working with offstrategy compactions, which are compactions that work in parallel with the main compactions. In those cases we may be converting SSTables from one format to another and it might be necessary to split a single big STCS SSTable into something that TWCS expects With the motivation out of the way, let's talk about the implementation: The implementation is quite simple and builds upon the previous patches. It simply specializes the interposer implementation for regular compaction with a table-specific interposer. Fixes #1431 Signed-off-by: Glauber Costa <glauber@scylladb.com>