[Feature] When a test fails, `dbt retry` should also rebuild the model(s) against which the test failed instead of re-running the same doomed test against the original model #10164
Run dbt build - fails because id has a null record
Delete the lines adding null to model_a
Run dbt retry --state yada/yada
Note that the build still fails because id has a null record, because only the test is re-run.
Instead, dbt retry should re-run the model that is attached to the test.
Today, retry only works for transient errors (e.g. a relationship test failing because fivetran hasn't finished on both sides of the PK/FK divide) or errors that cause a SQL failure in the model. If tests pick up a logic mistake, then dbt retry doesn't work for mopping up afterwards.
Describe alternatives you've considered
rolling my own with something like dbt build -s 1+status:error+ (freehanded, but you get my point even if it's not strictly correct syntax)
Is this your first time submitting a feature request?
Describe the feature
Given:
dbt build
- fails because id has a null recorddbt retry --state yada/yada
Instead,
dbt retry
should re-run the model that is attached to the test.Today, retry only works for transient errors (e.g. a relationship test failing because fivetran hasn't finished on both sides of the PK/FK divide) or errors that cause a SQL failure in the model. If tests pick up a logic mistake, then dbt retry doesn't work for mopping up afterwards.
Describe alternatives you've considered
rolling my own with something like
dbt build -s 1+status:error+
(freehanded, but you get my point even if it's not strictly correct syntax)Who will this benefit?
No response
Are you interested in contributing this feature?
Nah
Anything else?
Instigating feedback from the Cloud feedback form: https://dbt-labs.productboard.com/insights/all-notes/notes/39794606
I have seen multiple other threads about this too though so not an isolated incident.