From fec328bb98b9ec7586b7c3239400bc3090c9769f Mon Sep 17 00:00:00 2001 From: Teddy Date: Wed, 18 Dec 2024 09:47:58 +0100 Subject: [PATCH] fix: handle existing dbt test results (#19102) --- .../ingestion/source/database/dbt/metadata.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py b/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py index 5c1b2cf81e3..4cb1efe0c47 100644 --- a/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py +++ b/ingestion/src/metadata/ingestion/source/database/dbt/metadata.py @@ -62,6 +62,7 @@ from metadata.ingestion.lineage.models import ConnectionTypeDialectMapper from metadata.ingestion.lineage.sql_lineage import get_lineage_by_query from metadata.ingestion.models.ometa_classification import OMetaTagAndClassification from metadata.ingestion.models.table_metadata import ColumnDescription +from metadata.ingestion.ometa.client import APIError from metadata.ingestion.ometa.ometa_api import OpenMetadata from metadata.ingestion.source.database.column_type_parser import ColumnTypeParser from metadata.ingestion.source.database.database_service import DataModelLink @@ -1071,10 +1072,15 @@ class DbtSource(DbtServiceSource): else None, test_case_name=manifest_node.name, ) - self.metadata.add_test_case_results( - test_results=test_case_result, - test_case_fqn=test_case_fqn, - ) + try: + self.metadata.add_test_case_results( + test_results=test_case_result, + test_case_fqn=test_case_fqn, + ) + except APIError as err: + if err.code != 409: + raise APIError(err) from err + except Exception as err: # pylint: disable=broad-except logger.debug(traceback.format_exc()) logger.error(