pub enum ArchiveOutcome {
Archived {
rows: u64,
},
SkippedNotFound,
SkippedNotLive,
SkippedNotFrozen,
SkippedNoPartition,
SkippedResponseSteps,
SkippedRetryRaced,
}Variants§
Archived
Rows moved and location stamped; carries the row count moved.
SkippedNotFound
Batch missing or soft-deleted (purge owns its rows, not the archive).
SkippedNotLive
The batch is not available to this mover: either location is
already 'archive' (idempotent no-op), or another transaction holds
its row lock right now — a concurrent mover, or a retry/cancel/freeze
updating the batch (the mover locks with SKIP LOCKED and bounces
rather than queueing behind a held lock; contention is counted via
the fusillade_archive_contended_total metric). Split batches ARE
valid candidates: re-archiving after a retry resumes moves the
remaining live rows into the same bucket.
SkippedNotFrozen
Counts not frozen: the batch is active again (retry) or was never finalized. It will re-candidate once frozen.
SkippedNoPartition
The weekly partition for this batch’s bucket does not exist. The batch stays live and fully served; fix partition creation and it archives on a later pass. Alert-worthy.
SkippedResponseSteps
Some row is referenced by response_steps; the batch stays live
until the batchless store re-homes those rows.
SkippedRetryRaced
The retry_version CAS on the final stamp failed — a retry raced
the move. Transaction rolled back; nothing moved.
Trait Implementations§
Source§impl Clone for ArchiveOutcome
impl Clone for ArchiveOutcome
Source§fn clone(&self) -> ArchiveOutcome
fn clone(&self) -> ArchiveOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more