swap order that errors are raised when auto-running fails #219
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
the component's error is now at the bottom of the stack trace, so the user sees it first
One sentence summary of this PR (This should go in the CHANGELOG!)
Tweak how errors are raised when auto-running components, so the actual root cause is not buried
Link to Related Issue(s)
If a component is auto-run (which is common, every
analyze
orunpack
are auto-runs for example) and it raises an errorE
, then the job service also generates it's own errorF
with info about why the component was chosen by the auto-run. Previously the errors were raised asraise F from E
, which resulted in the stack trace printing error info in the order:So what a user sees most obviously is some junk about the auto-run, and the root cause is buried halfway up. This also translates to the GUI when there is a backend error: Since
F
is the most proximate error, that auto-run info error is the one shown in a pop-up when there is a backend error.Please describe the changes in your request.
Do
raise E from F
instead, so errors are printed in the order:And the most recent stuff printed is about the root cause that the user cares about. The info about why the component was selected is still there, if it will be useful for debugging.
Anyone you think should look at this, specifically?