Standalone manager
The manager schedules compaction work over snapshots, backups, or CQLite-native tables without modifying live Cassandra-owned directories.
Status: Proposed direction.
The compaction enhancement issues have enough design depth to stand as public proposal pages. The direction is an offline, deterministic maintenance plane: Cassandra still owns live data directories, while CQLite can compact snapshots, backups, and CQLite-native table directories with explicit inputs and testable parity.
Standalone manager
The manager schedules compaction work over snapshots, backups, or CQLite-native tables without modifying live Cassandra-owned directories.
Deterministic inputs
Compaction should receive explicit time inputs such as gc-before and
now-sec, instead of depending on ambient wall-clock behavior.
Parity first
The executor remains a k-way merge path with Cassandra-compatible output and byte/semantic parity checks.
flowchart LR Snapshot["Offline snapshot / CQLite-native table"] Planner["Pure compaction planner"] Executor["K-way merge executor"] Manager["Standalone manager"] Output["Valid Cassandra 5 SSTables"] Snapshot --> Planner --> Executor --> Output Planner --> Manager Manager --> Executor
flowchart LR
Snapshot["Offline snapshot / CQLite-native table"]
Planner["Pure compaction planner"]
Executor["K-way merge executor"]
Manager["Standalone manager"]
Output["Valid Cassandra 5 SSTables"]
Snapshot --> Planner --> Executor --> Output
Planner --> Manager
Manager --> Executor flowchart LR Schema["schema.cql gc_grace"] GcBefore["explicit gc-before"] NowSec["explicit now-sec"] Merge["deterministic merge"] Tests["parity harness"] Schema --> Merge GcBefore --> Merge NowSec --> Merge Merge --> Tests
flowchart LR
Schema["schema.cql gc_grace"]
GcBefore["explicit gc-before"]
NowSec["explicit now-sec"]
Merge["deterministic merge"]
Tests["parity harness"]
Schema --> Merge
GcBefore --> Merge
NowSec --> Merge
Merge --> Tests | Issue | Coverage | Public interpretation |
|---|---|---|
| #905 compaction manager | Direct | Build a standalone manager around a pure planner and bounded executor. |
#1536 cqlite compact --now-sec default | Direct | Keep TTL expiry behavior explicit and deterministic for compaction parity. |
Primary issue links: