Hello Team, I have an Issue where dbt tests are b...
# ask-community
d
Hello Team, I have an Issue where dbt tests are blocking all downstream dependencies when using dagster_dbt.load_assets_from_dbt_project If a dbt model fails to run or its test fails then I still want upstream models to continue if they dont have a dependency on the failing model. e.g. when following along to the blog and the modern data stack example https://github.com/dagster-io/dagster/tree/master/examples/modern_data_stack_assets we load all our assets with the dbt build command so tests run:
Copy code
python
from dagster_dbt import load_assets_from_dbt_project

DBT_PROJECT_DIR = '..'

dbt_assets = load_assets_from_dbt_project(
    project_dir=DBT_PROJECT_DIR, io_manager_key="pandas_io_manager",
    select='mds_dbt',
    use_build_command=True
)
But as soon as i add a new model with no downstream dependencies and create a failing test then the upstream dependencies are skipped. How do i get those upstream dependencies to continue if none of their dependencies have failed? Example of the changes i made to blog : https://github.com/wisemuffin/dagster-dbt-test-asset-issue/pull/1/files
p
I had to set this property when I configured my dbt_cli_resource to address what I think may be the same issue:
Copy code
"ignore_handled_error": True
dagster bot responded by community 1
d
Thanks Paul, Thats good to know that you can skip dbt errors. But the behaviour i am looking for is if one model fails a test to only skip its downstream dependencies. Desired Result see screen shot. If i used:
Copy code
"ignore_handled_error": True
Then in my diagram the predict_fake python asset will run when a test has failed on its dependent upstream asset called model_with_failing_test. I want to skip predict_fake as its dependency has failed.
Two possible solutions I am thinking of: Option 1 I am thinking one way to make this work is to for tests to be included in the asset graph so they show up as dependencies. Option 2 Another option i have used with airflow previously is a more imperative way of creating a task for each model and test and making each one depend on any test linked to it. See https://www.astronomer.io/blog/airflow-dbt-2 However i want to use dagsters declarative style of creating assets. If anyone has seen any examples let me know.