Repository navigation
Supervise pipeline delivery and persist failure context - #29
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 620b22ddfb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| for _, sink := range s.pipeline.Spec.Sinks { | ||
| info, err := s.getComponentEndpoint(sink.ID) |
There was a problem hiding this comment.
Respect declared inputs when wiring direct sinks
For a processor-free pipeline with multiple sources, this loop opens every sink for every source without checking sink.Inputs. Consequently, a sink declared with inputs: [source-a] also receives events from source-b whenever its accepted event types overlap or are unspecified, causing cross-delivery and potentially corrupting downstream results. Filter the direct source-to-sink edges using the configured input IDs.
Useful? React with 👍 / 👎.
| streamOrch.cancel() | ||
| select { | ||
| case <-terminal: | ||
| case <-time.After(10 * time.Second): |
There was a problem hiding this comment.
Preserve a delivery failure returned while cancelling
When an operator stop or signal races with an edge failure whose Wait result has not yet reached terminal, this branch cancels the orchestrator and then discards the value received from terminal. If the errgroup had already captured a real delivery error, deliveryErr remains nil, so the run is recorded as STOPPED and the CLI exits successfully instead of reporting the failure. Capture and classify the result here just as in the preceding receive branch.
Useful? React with 👍 / 👎.
|
Addressed both Codex findings in b68e3e3:
Verified with |
Summary
spec.registrationOnly: truefor intentional monitoring-only pipelines.PipelineRun.errorfield and mark the implicated component unhealthy.Verification
go test ./...go vet ./...go build ./...RUN_TIMEOUT=45s scripts/flowctl-process-e2e.sh(101 sink events, completed).Remaining limitation
Bounded source completion is currently inferred from
END_LEDGER; other finite source types need an explicit boundedness setting.