From af4b4e89a4b83c6753fecf73ef2911461aded891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20G=C3=B3mez=20Villamor?= Date: Thu, 9 May 2024 11:21:01 +0200 Subject: [PATCH 1/2] fix(ingest/tableau): catch exception during sign out (#10459) --- .../src/datahub/ingestion/source/tableau.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/metadata-ingestion/src/datahub/ingestion/source/tableau.py b/metadata-ingestion/src/datahub/ingestion/source/tableau.py index 6fbc56c57d4f1..6d04cc0e2d1f5 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/tableau.py +++ b/metadata-ingestion/src/datahub/ingestion/source/tableau.py @@ -20,7 +20,7 @@ import tableauserverclient as TSC from pydantic import root_validator, validator from pydantic.fields import Field -from requests.adapters import ConnectionError, HTTPAdapter +from requests.adapters import HTTPAdapter from tableauserverclient import ( PersonalAccessTokenAuth, Server, @@ -572,11 +572,11 @@ def close(self) -> None: try: if self.server is not None: self.server.auth.sign_out() - except ConnectionError as err: + except Exception as ex: logger.warning( "During graceful closing of Tableau source a sign-out call was tried but ended up with" - " a ConnectionError (%s). Continuing closing of the source", - err, + " an Exception (%s). Continuing closing of the source", + ex, ) self.server = None super().close() From 3755a1e27d5a508f7ba0c66ccc75a06e8e3060fb Mon Sep 17 00:00:00 2001 From: Aseem Bansal Date: Thu, 9 May 2024 17:06:35 +0530 Subject: [PATCH 2/2] fix(ingest/dbt): failures due to API change (#10467) --- .../src/datahub/ingestion/source/dbt/dbt_cloud.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metadata-ingestion/src/datahub/ingestion/source/dbt/dbt_cloud.py b/metadata-ingestion/src/datahub/ingestion/source/dbt/dbt_cloud.py index 2c5a4b7af8836..820d85b2cfb51 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/dbt/dbt_cloud.py +++ b/metadata-ingestion/src/datahub/ingestion/source/dbt/dbt_cloud.py @@ -375,7 +375,7 @@ def _parse_into_dbt_node(self, node: Dict) -> DBTNode: max_loaded_at = None columns = [] - if "columns" in node: + if "columns" in node and node["columns"] is not None: # columns will be empty for ephemeral models columns = [ self._parse_into_dbt_column(column)