Details
-
Improvement
-
Status: Triage Needed
-
Normal
-
Resolution: Unresolved
-
None
-
None
-
All
-
None
Description
Add startup flag "cassandra.load_snapshot_unsafe=snapshot_id" that loads a snapshot with the specified ID into the sstable tracker in the initial startup phase.
The flag has the _unsafe prefix because it may cause data consistency issues if this is used incorrectly. For example, if a given snapshot is loaded in a single replica of a replicated keyspace, it may cause replicas to go out of sync. For this reason, this flag should only be accepted if the "allow_load_snapshot_unsafe" guardrail is enabled (it is disabled by default).
When the flag is detected during startup, snapshots with the given tag will be located. If no snapshot with the given tag exists, the startup should fail.
The snapshot loading mechanism should create a hard link to existing sstables into a staging area to ensure the existing data is secured. After this, it should replace the existing sstables with the snapshot data into the sstable tracker before proceeding normally with the startup.
Attachments
Issue Links
- relates to
-
CASSANDRA-18111 Centralize all snapshot operations to SnapshotManager and cache snapshots
- Resolved
-
CASSANDRA-18271 Centralize all snapshot operations to SnapshotManager
- Resolved