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 moreSource§impl Debug for AttachmentReclamationReport
impl Debug for AttachmentReclamationReport
Source§impl Default for AttachmentReclamationReport
impl Default for AttachmentReclamationReport
Source§fn default() -> AttachmentReclamationReport
fn default() -> AttachmentReclamationReport
impl Eq for AttachmentReclamationReport
impl StructuralPartialEq for AttachmentReclamationReport
Auto Trait Implementations§
impl Freeze for AttachmentReclamationReport
impl RefUnwindSafe for AttachmentReclamationReport
impl Send for AttachmentReclamationReport
impl Sync for AttachmentReclamationReport
impl Unpin for AttachmentReclamationReport
impl UnsafeUnpin for AttachmentReclamationReport
impl UnwindSafe for AttachmentReclamationReport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.