This is an automated email from the ASF dual-hosted git repository.

mobuchowski pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 3004da95e97 fix: OL sql parsing add try-except for sqlalchemy engine 
(#46366)
3004da95e97 is described below

commit 3004da95e97ba79eba2ab6b743a75e3f3f8dc170
Author: Kacper Muda <[email protected]>
AuthorDate: Mon Feb 3 13:41:58 2025 +0100

    fix: OL sql parsing add try-except for sqlalchemy engine (#46366)
    
    Signed-off-by: Kacper Muda <[email protected]>
---
 .../src/airflow/providers/common/compat/openlineage/utils/sql.py  | 8 +++++++-
 .../openlineage/src/airflow/providers/openlineage/sqlparser.py    | 8 +++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git 
a/providers/common/compat/src/airflow/providers/common/compat/openlineage/utils/sql.py
 
b/providers/common/compat/src/airflow/providers/common/compat/openlineage/utils/sql.py
index 9a9618d7a2e..72e9e1f94f0 100644
--- 
a/providers/common/compat/src/airflow/providers/common/compat/openlineage/utils/sql.py
+++ 
b/providers/common/compat/src/airflow/providers/common/compat/openlineage/utils/sql.py
@@ -69,12 +69,18 @@ else:
                 log.debug("%s failed to get database dialect", hook)
                 return None
 
+            try:
+                sqlalchemy_engine = hook.get_sqlalchemy_engine()
+            except Exception as e:
+                log.debug("Failed to get sql alchemy engine: %s", e)
+                sqlalchemy_engine = None
+
             operator_lineage = 
sql_parser.generate_openlineage_metadata_from_sql(
                 sql=sql,
                 hook=hook,
                 database_info=database_info,
                 database=database,
-                sqlalchemy_engine=hook.get_sqlalchemy_engine(),
+                sqlalchemy_engine=sqlalchemy_engine,
                 use_connection=use_external_connection,
             )
 
diff --git 
a/providers/openlineage/src/airflow/providers/openlineage/sqlparser.py 
b/providers/openlineage/src/airflow/providers/openlineage/sqlparser.py
index e45a05b7c64..7edb01cabd2 100644
--- a/providers/openlineage/src/airflow/providers/openlineage/sqlparser.py
+++ b/providers/openlineage/src/airflow/providers/openlineage/sqlparser.py
@@ -482,12 +482,18 @@ def get_openlineage_facets_with_sql(
         log.debug("%s failed to get database dialect", hook)
         return None
 
+    try:
+        sqlalchemy_engine = hook.get_sqlalchemy_engine()
+    except Exception as e:
+        log.debug("Failed to get sql alchemy engine: %s", e)
+        sqlalchemy_engine = None
+
     operator_lineage = sql_parser.generate_openlineage_metadata_from_sql(
         sql=sql,
         hook=hook,
         database_info=database_info,
         database=database,
-        sqlalchemy_engine=hook.get_sqlalchemy_engine(),
+        sqlalchemy_engine=sqlalchemy_engine,
         use_connection=should_use_external_connection(hook),
     )
 

Reply via email to