Fix silent error-swallowing in Firebolt scripts; drop bogus t3a.small results#970
Open
thevar1able wants to merge 3 commits into
Open
Fix silent error-swallowing in Firebolt scripts; drop bogus t3a.small results#970thevar1able wants to merge 3 commits into
t3a.small results#970thevar1able wants to merge 3 commits into
Conversation
t3a.small results
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Resolves #945
Summary
firebolt/queryandfirebolt/load(and their-parquet/-parquet-partitionedcopies) checked for failure with
jq -e '.errors' ..., butjq -ealso exitsnon-zero on malformed or empty input — which the old code treated identically
to "no .errors key present," i.e. success. A crashed/overloaded engine that
comes back with an empty 200 body or a non-JSON body could silently be
recorded as a fast, error-free query with no timing on stderr, or (for
load)surface only as an opaque
curl: (22) ... error 500with the actual reasondiscarded.
query: now checks HTTP status, non-empty body, and JSON-validityexplicitly before checking
.errors, and validates.statistics.elapsedis actually numeric before declaring success.
load: same idea via arun_sqlhelper — prints the real response bodyon any non-200/invalid-JSON/
.errorsresponse instead of swallowing it.Validated that both cases fail to load dataset on
t3a.small: