Skip to main content

remote_cache_action

Function remote_cache_action 

Source
pub const fn remote_cache_action(
    current: Option<RemoteSegmentLifecycle>,
    target: RemoteSegmentLifecycle,
    exact_retry: bool,
) -> RemoteCacheAction
Expand description

Classify one remote-segment cache update against the cached state, None when the cache holds no such segment.

A forward lifecycle edge stores its target: readable at CopyFinished, hidden at DeleteStarted, removed at DeleteFinished. An update for a missing segment is an idempotent tombstone when it is DeleteFinished and rejected otherwise, so an update can never resurrect a segment.

Kafka’s RemoteLogMetadataCache admits every self transition. This cache is stricter: a self transition is a no-op only for an exact retry (the host compares timestamp, broker and custom metadata) and is rejected as a conflict otherwise.