Skip to content

status:stopped config leaves a crashed pipeline labeled Degraded/Recovering #2513

Description

@devarismeroxa

Follow-up from #2061 / PR #2512 (review nit).

#2512 makes a status: stopped config convert a StatusSystemStopped pipeline to StatusUserStopped on restart, so it isn't auto-resumed. That fully fixes the data-path bug (a stopped pipeline writing to its destination).

Edge, cosmetic only: a pipeline whose config says stopped but which crashed while Recovering or Degraded restarts with that label intact. It is functionally stoppedlifecycle.Init only auto-resumes SystemStopped, so no records flow and there are no destination writes — but its status reads Recovering/Degraded rather than UserStopped, which misrepresents the operator's intent.

Deliberately left out of #2512 to keep that Tier-1 fix narrow (SystemStopped-only guard). If we want config to fully own the status label, the guard in provisionPipeline could widen to convert any non-running, non-user-stopped state to UserStopped when the config says stopped — but that's a broader change and deserves its own review.

No data loss / no invariant impact; label-accuracy only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    housekeepingSmall improvements or chores

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions