pub struct KeyGcPlan {
pub key: Vec<u8>,
pub versions_to_remove: Vec<Timestamp>,
pub collapse_tombstone: Option<Timestamp>,
pub versions_examined: usize,
pub complete: bool,
}Expand description
A deterministic, read-only garbage-collection plan for one logical key.
Fields§
§key: Vec<u8>The exact logical key that was planned.
versions_to_remove: Vec<Timestamp>Explicit obsolete version timestamps to remove, ordered newest first.
This list never includes the safe-point keeper. If
Self::collapse_tombstone is present, the caller must remove that
tombstone and these older versions atomically.
collapse_tombstone: Option<Timestamp>The final tombstone timestamp to collapse, when explicitly permitted.
versions_examined: usizeNumber of obsolete, pre-keeper version timestamps examined.
complete: boolWhether the planner established that no eligible debt remains unplanned.
A page that exactly fills the budget is conservatively incomplete, because the bounded backend contract does not require a separate unbudgeted lookahead read. After applying the explicit removals, planning the same key again will establish completion or return another page.