Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
replica: Fix major compaction semantics by performing off-strategy first
Major compaction semantics is that all data of a table will be compacted together, so user can expect e.g. a recently introduced tombstone to be compacted with the data it shadows. Today, it can happen that all data in maintenance set won't be included for major, until they're promoted into main set by off-strategy. So user might be left wondering why major is not having the expected effect. To fix this, let's perform off-strategy first, so data in maintenance set will be made available by major. A similar approach is done for data in memtable, so flush is performed before major starts. The only exception will be data in staging, which cannot be compacted until view building is done with it, to avoid inconsistency in view replicas. The serialization in comapaction manager of reshape jobs guarantee correctness if there's an ongoing off-strategy on behalf of the table. Fixes scylladb#11915. Signed-off-by: Raphael S. Carvalho <raphaelsc@scylladb.com> Closes scylladb#15792
- Loading branch information