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),
)