pub struct KeyValueDiskANNMaintenance { /* private fields */ }Expand description
Discover only generations visible at startup, without loading artifact payloads or building an identity directory. Each step checks one current generation and deletes at most 64 payload keys. New and earlier generations are reconsidered by the next pass. Errors preserve the current cursor and original physical attempt.
Implementations§
Source§impl KeyValueDiskANNMaintenance
impl KeyValueDiskANNMaintenance
pub fn start( store: &Arc<dyn KeyValueStore>, control: &StorageReadControl, ) -> StorageBackendResult<Self>
Sourcepub fn step(&mut self) -> StorageBackendResult<Option<DiskANNMaintenanceStep>>
pub fn step(&mut self) -> StorageBackendResult<Option<DiskANNMaintenanceStep>>
None completes this finite pass and releases its discovery snapshot. Retained generations do not prevent reaching later generations; incomplete deletion stays on its current generation.
Sourcepub fn commit_pending(&self) -> StorageBackendResult<()>
pub fn commit_pending(&self) -> StorageBackendResult<()>
Resolve the exact original attempt before resuming a failed step. No discovery or deletion callback is replayed by this operation.
pub fn rollback_pending(&self) -> StorageBackendResult<()>
Sourcepub fn run(
store: &Arc<dyn KeyValueStore>,
control: &StorageReadControl,
) -> StorageBackendResult<()>
pub fn run( store: &Arc<dyn KeyValueStore>, control: &StorageReadControl, ) -> StorageBackendResult<()>
Drain one finite pass for an existing storage-maintenance invocation. Every step keeps the same per-batch bound; dropping the pass releases discovery history before ordinary provider version reclamation.