GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||
GeezerVison is showing github.com — [connectors] Report the error that stopped the circuit thread in /status by blp · Pull Request #7867 · feldera/feldera Conversation
|
| File | Change |
|---|---|
controller/stats.rs |
New GlobalControllerMetrics::fatal_error: the first error that stopped the circuit thread. |
controller.rs |
The circuit thread records its error before finish() sets Terminated, so an observer that sees Terminated also sees the cause. |
server.rs |
terminated_status reports the recorded error with its own error code. The error formatting moves into controller_error_status, which the Failed branch also uses. This also corrects its log message, which named SERVICE_UNAVAILABLE as the code it converted to. |
terminated_status_reports_the_fatal_error: /status mapping.replay_failure_is_recorded_as_fatal_error: runs a fault-tolerant pipeline from a file, changes the file, restarts, and expects the pipeline to stop with ReplayFailure recorded.Both tests fail when the fix is disabled.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Review summary. No hard gate fails. The one finding is the misplaced doc comment noted inline. What I ran
What I checked
Missing (low): no test checks that |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| /// Records the reason before the state, so that an observer that sees | ||
| /// [PipelineState::Terminated] also sees why. | ||
| /// The error that stopped the circuit thread, if one did. | ||
| pub fn fatal_error(&self) -> Option<Arc<ControllerError>> { |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
bug (medium, docs): These methods were inserted between set_suspended and its doc comment. Now pub fn fatal_error has a doc that starts "Terminates the pipeline because a suspend completed successfully…", and set_suspended has no doc. Please move the three /// lines above this one back above fn set_suspended.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…tus. When the circuit thread stopped with an error that the server does not classify as fatal, such as a fault-tolerance replay failure, /status reported only "Pipeline has been terminated." (PipelineTerminated). The cause was only in the log. The circuit thread now records the error before it terminates the pipeline, and /status reports that error with its own error code, for example ReplayFailure. Fixes #2986. Signed-off-by: Ben Pfaff <[email protected]>
b843e3d to
82a00e6
Compare
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
When fault tolerance detects a failure, pipeline should become Failed
There was an error while loading. Please reload this page.