Skip to content

shuffle: refresh the disk-backlog gauge on the LogActor tick - #3361

Open
williamhbaker wants to merge 1 commit into
masterfrom
wb/shuffle-log-backlog-gauge-refresh
Open

shuffle: refresh the disk-backlog gauge on the LogActor tick#3361
williamhbaker wants to merge 1 commit into
masterfrom
wb/shuffle-log-backlog-gauge-refresh

Conversation

@williamhbaker

@williamhbaker williamhbaker commented Aug 14, 2026

Copy link
Copy Markdown
Member

Description:

shuffle_log_disk_backlog_bytes was written only on segment seal and on reclaim. service-kit configures the Prometheus exporter with a 600s idle timeout across all metric kinds, which deletes a metric from the registry once its generation stops advancing -- the series ends, rather than holding a stale value.

A Log wedged by disk back-pressure seals nothing (may_buffer gates on it) and reclaims nothing (sealed segments compress within seconds, then only poll for an unlink that never comes). It stops writing the gauge entirely, so the series disappears about ten minutes in.

Re-set the gauge on the actor's existing 60s tick, tying the metric's lifetime to the actor's rather than to its rate of change. Eviction still bounds shard_id cardinality once the actor exits, which keeps series presence a usable liveness signal.

Workflow steps:

(How does one use this feature, and how has it changed)

Documentation links affected:

(list any documentation links that you created, or existing ones that you've identified as needing updates, along with a brief description)

Notes for reviewers:

(anything that might help someone review this PR)

`shuffle_log_disk_backlog_bytes` was written only on segment seal and on
reclaim. service-kit configures the Prometheus exporter with a 600s idle
timeout across all metric kinds, which deletes a metric from the registry
once its generation stops advancing -- the series ends, rather than
holding a stale value.

A Log wedged by disk back-pressure seals nothing (`may_buffer` gates on
it) and reclaims nothing (sealed segments compress within seconds, then
only poll for an unlink that never comes). It stops writing the gauge
entirely, so the series disappears about ten minutes in.

Re-set the gauge on the actor's existing 60s tick, tying the metric's
lifetime to the actor's rather than to its rate of change. Eviction still
bounds `shard_id` cardinality once the actor exits, which keeps series
presence a usable liveness signal.
@williamhbaker
williamhbaker force-pushed the wb/shuffle-log-backlog-gauge-refresh branch from cfe2637 to b5ca088 Compare August 14, 2026 22:32
@williamhbaker
williamhbaker requested a review from a team August 14, 2026 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant