ConduitIO / ConduitIO/conduit

lifecycle-poc: force-stop never sets StatusDegraded (bare ErrForceStop not wrapped fatal)

Open
#2,580 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
610
Forks
63
Avg merge
12h 28m
Merged PRs (30d)
57

Description

Surfaced by the #2578 review (non-blocking, out of scope there). `pkg/lifecycle-poc` force-stop uses bare `pipeline.ErrForceStop` (`service.go:248`) where the sibling `pkg/lifecycle` wraps it `cerrors.FatalError(pipeline.ErrForceStop)` (`pkg/lifecycle:337`). In the cleanup `default` branch, `IsFatalError(ErrForceStop)` is false → it falls into the stubbed-out recovery `else`, so a force-stopped POC pipeline never gets `StatusDegraded`. Relatedly, the 'recovery not implemented' branch leaves a dead pipeline stuck at `Running` forever. Both are POC-arch gaps to close as that path matures.

Contributor guide

Open the contributing guide

Research direction

Start with the cleanup path in pkg/lifecycle-poc/service.go at line 248, then compare it with the sibling handling at pkg/lifecycle:337. Trace the default branch through IsFatalError and the recovery-not-implemented branch; done means force-stopping a POC pipeline sets StatusDegraded and the dead-pipeline path no longer remains at Running.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, data-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.