From 922c826393dcc90127e14461de8d70cecf34f433 Mon Sep 17 00:00:00 2001 From: Paul Slater Date: Fri, 13 Mar 2026 03:47:47 +0000 Subject: [PATCH 1/2] don't warn for expected conditions when ingesting dbt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When ingesting dbt I get thousands of: `DBT Test Case Results not found for node` warnings. I don't think these should be warnings because the manifest and run_results represent different things: - manifest.json — a complete snapshot of all defined tests in your dbt project - run_results.json — only the results from the last dbt invocation These diverge whenever: 1. Partial dbt runs — e.g. dbt test --select some_model only runs tests for that model. All other tests remain in the manifest but have no result entry. 2. Tests were skipped — if an upstream model errored, downstream tests may be skipped and may not appear in run_results at all. 3. Manifest/run_results mismatch — this could warrant a warning but there is no way for us to tell. Its a fairly "on them" issue though if they have messed up and supplied non matching manifest and run results and I don't think the vast majority of others should suffer 10s of thousands of warnings. 4. Freshness tests — the add_dbt_sources path (line 710) only adds source freshness tests when a result already exists, so those are never noisy. But regular test nodes are always added regardless. This PR simply coverts the log to debug. --- .../src/metadata/ingestion/source/database/dbt/metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py b/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py index 66258dcb86bf..55287ba999b7 100644 --- a/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py +++ b/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py @@ -1643,7 +1643,7 @@ def add_dbt_test_result(self, dbt_test: dict): ) dbt_test_result = dbt_test.get(DbtCommonEnum.RESULTS.value) if not dbt_test_result: - logger.warning( + logger.debug( f"DBT Test Case Results not found for node: {manifest_node.name}" ) return From d66028ab50e51aee91923cdff8c238a7a0db9f21 Mon Sep 17 00:00:00 2001 From: Paul Slater Date: Mon, 27 Apr 2026 11:13:57 +0100 Subject: [PATCH 2/2] fix merge --- .../metadata/ingestion/source/database/dbt/metadata.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py b/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py index 2c2d8fa7b8e6..84fdc88a77e6 100644 --- a/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py +++ b/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py @@ -1486,13 +1486,7 @@ def add_dbt_test_result(self, dbt_test: dict): logger.debug(f"Adding DBT Test Case Results for node: {manifest_node.name}") dbt_test_result = dbt_test.get(DbtCommonEnum.RESULTS.value) if not dbt_test_result: -<<<<<<< patch-1 - logger.debug( - f"DBT Test Case Results not found for node: {manifest_node.name}" - ) -======= - logger.warning(f"DBT Test Case Results not found for node: {manifest_node.name}") ->>>>>>> main + logger.debug(f"DBT Test Case Results not found for node: {manifest_node.name}") return # Skip compiled-only entries: `dbt run` includes test nodes in