pub struct AttachmentReclamationReport {
pub scanned_blob_count: usize,
pub reclaimed_count: usize,
pub failed_ids: Vec<AttachmentId>,
pub deleted_while_referenced: Vec<AttachmentId>,
}Expand description
Outcome of a host-invoked unreferenced-attachment reclamation sweep.
See reclaim_unreferenced_attachments for the full contract. Returned so
hosts can emit metrics the same way GcReport and
VacuumReport do for the store-side levers.
Fields§
§scanned_blob_count: usizeBlobs enumerated from the backend and considered by the sweep.
reclaimed_count: usizeBlobs deleted: unreferenced by any session and past the grace window.
failed_ids: Vec<AttachmentId>Blobs the sweep tried but failed to delete. The sweep continues past per-blob failures and reports them here rather than aborting.
deleted_while_referenced: Vec<AttachmentId>Blobs that were deleted but a live root re-appeared for in the residual
window between the pre-delete root re-check and the delete itself. The
bytes are already gone and cannot be restored, but a put-always-writes
backend self-heals on the referencing session’s next put (the intent’s
write-ahead ordering guarantees a retry rewrites the bytes). Recorded and
logged at error level so an operator sees the (single-digit-millisecond,
self-healing) event rather than a silent data loss.
Trait Implementations§
Source§impl Clone for AttachmentReclamationReport
impl Clone for AttachmentReclamationReport
Source§fn clone(&self) -> AttachmentReclamationReport
fn clone(&self) -> AttachmentReclamationReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more