Skip to content

cold tier: expired cold entries linger on disk until read or orphan-swept — reclaim them actively #554

Description

@TinDang97

A cold-spilled key whose TTL passes is never actively reclaimed: the hot expiry machinery (including the #549 index) deliberately covers hot entries only, and the cold copy stays in the datafile + cold_index until a read notices (ColdReadOutcome::Expired) or an orphan sweep touches it. ColdLocation already caches ttl_ms, so a low-frequency cold-index scan (or a second deadline index over cold locations) could reclaim expired entries — freeing disk space, manifest entries, and logical_len accuracy — without any disk reads. Emission semantics need care: reclaiming a cold-expired key on a master should route through the same dual-plane DEL treatment as hot expiry (#542 discipline), or replicas retain their copy forever.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions