This is an automated email from the ASF dual-hosted git repository.
jscheffl 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 c2efb867b93 Bugfix/fix sql query in edge executor (#46620)
c2efb867b93 is described below
commit c2efb867b93feba81bcf054e2cb4b21dffbdb7dc
Author: majorosdonat <[email protected]>
AuthorDate: Mon Feb 10 16:12:40 2025 +0100
Bugfix/fix sql query in edge executor (#46620)
* add text wrapper
* try to add other isolation level
* try session.commit
* move session.commit
* try github copilot suggestion
* fix syntax
* try another solution
* update version
* fix static checks
---------
Co-authored-by: Majoros Donat (XC-DX/EET2-Bp) <[email protected]>
---
providers/edge/README.rst | 6 +++---
providers/edge/docs/changelog.rst | 9 +++++++++
providers/edge/provider.yaml | 2 +-
providers/edge/pyproject.toml | 6 +++---
providers/edge/src/airflow/providers/edge/__init__.py | 2 +-
.../src/airflow/providers/edge/executors/edge_executor.py | 11 ++++++-----
.../edge/src/airflow/providers/edge/get_provider_info.py | 2 +-
7 files changed, 24 insertions(+), 14 deletions(-)
diff --git a/providers/edge/README.rst b/providers/edge/README.rst
index 7e8bcef4ae4..a19c5fdea94 100644
--- a/providers/edge/README.rst
+++ b/providers/edge/README.rst
@@ -24,7 +24,7 @@
Package ``apache-airflow-providers-edge``
-Release: ``0.14.0pre0``
+Release: ``0.14.1pre0``
Handle edge workers on remote sites via HTTP(s) connection and orchestrates
work over distributed sites
@@ -37,7 +37,7 @@ This is a provider package for ``edge`` provider. All classes
for this provider
are in ``airflow.providers.edge`` python package.
You can find package information and changelog for the provider
-in the `documentation
<https://airflow.apache.org/docs/apache-airflow-providers-edge/0.14.0pre0/>`_.
+in the `documentation
<https://airflow.apache.org/docs/apache-airflow-providers-edge/0.14.1pre0/>`_.
Installation
------------
@@ -60,4 +60,4 @@ PIP package Version required
================== ===================
The changelog for the provider package can be found in the
-`changelog
<https://airflow.apache.org/docs/apache-airflow-providers-edge/0.14.0pre0/changelog.html>`_.
+`changelog
<https://airflow.apache.org/docs/apache-airflow-providers-edge/0.14.1pre0/changelog.html>`_.
diff --git a/providers/edge/docs/changelog.rst
b/providers/edge/docs/changelog.rst
index cbcc3f5b405..d332cb203cc 100644
--- a/providers/edge/docs/changelog.rst
+++ b/providers/edge/docs/changelog.rst
@@ -27,6 +27,15 @@
Changelog
---------
+0.14.1pre0
+..........
+
+Fix
+~~~
+
+* ``Wrap the sql query in text() to make it executable.``
+
+
0.14.0pre0
..........
diff --git a/providers/edge/provider.yaml b/providers/edge/provider.yaml
index aef5ef7e959..174d46a7907 100644
--- a/providers/edge/provider.yaml
+++ b/providers/edge/provider.yaml
@@ -25,7 +25,7 @@ source-date-epoch: 1737371680
# note that those versions are maintained by release manager - do not update
them manually
versions:
- - 0.14.0pre0
+ - 0.14.1pre0
plugins:
- name: edge_executor
diff --git a/providers/edge/pyproject.toml b/providers/edge/pyproject.toml
index fb79fe2b330..bc25f3d7b7e 100644
--- a/providers/edge/pyproject.toml
+++ b/providers/edge/pyproject.toml
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
[project]
name = "apache-airflow-providers-edge"
-version = "0.14.0pre0"
+version = "0.14.1pre0"
description = "Provider package apache-airflow-providers-edge for Apache
Airflow"
readme = "README.rst"
authors = [
@@ -61,8 +61,8 @@ dependencies = [
]
[project.urls]
-"Documentation" =
"https://airflow.apache.org/docs/apache-airflow-providers-edge/0.14.0pre0"
-"Changelog" =
"https://airflow.apache.org/docs/apache-airflow-providers-edge/0.14.0pre0/changelog.html"
+"Documentation" =
"https://airflow.apache.org/docs/apache-airflow-providers-edge/0.14.1pre0"
+"Changelog" =
"https://airflow.apache.org/docs/apache-airflow-providers-edge/0.14.1pre0/changelog.html"
"Bug Tracker" = "https://github.com/apache/airflow/issues"
"Source Code" = "https://github.com/apache/airflow"
"Slack Chat" = "https://s.apache.org/airflow-slack"
diff --git a/providers/edge/src/airflow/providers/edge/__init__.py
b/providers/edge/src/airflow/providers/edge/__init__.py
index d9455c76e9a..1ac4d17dd6d 100644
--- a/providers/edge/src/airflow/providers/edge/__init__.py
+++ b/providers/edge/src/airflow/providers/edge/__init__.py
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
__all__ = ["__version__"]
-__version__ = "0.14.0pre0"
+__version__ = "0.14.1pre0"
if
packaging.version.parse(packaging.version.parse(airflow_version).base_version)
< packaging.version.parse(
"2.10.0"
diff --git
a/providers/edge/src/airflow/providers/edge/executors/edge_executor.py
b/providers/edge/src/airflow/providers/edge/executors/edge_executor.py
index 0f3bca4a084..ecf604013c1 100644
--- a/providers/edge/src/airflow/providers/edge/executors/edge_executor.py
+++ b/providers/edge/src/airflow/providers/edge/executors/edge_executor.py
@@ -22,8 +22,9 @@ from copy import deepcopy
from datetime import datetime, timedelta
from typing import TYPE_CHECKING, Any, Optional
-from sqlalchemy import delete, inspect
+from sqlalchemy import delete, inspect, text
from sqlalchemy.exc import NoSuchTableError
+from sqlalchemy.orm import Session
from airflow.cli.cli_config import GroupCommand
from airflow.configuration import conf
@@ -43,7 +44,6 @@ if TYPE_CHECKING:
import argparse
from sqlalchemy.engine.base import Engine
- from sqlalchemy.orm import Session
from airflow.executors.base_executor import CommandType
from airflow.models.taskinstancekey import TaskInstanceKey
@@ -86,9 +86,10 @@ class EdgeExecutor(BaseExecutor):
# version 0.14.0pre0 added new column maintenance_comment
if edge_worker_columns and "maintenance_comment" not in
edge_worker_columns:
- connection = engine.connect()
- query = "ALTER TABLE edge_worker ADD maintenance_comment
VARCHAR(1024);"
- connection.execute(query)
+ with Session(engine) as session:
+ query = "ALTER TABLE edge_worker ADD maintenance_comment
VARCHAR(1024);"
+ session.execute(text(query))
+ session.commit()
@provide_session
def start(self, session: Session = NEW_SESSION):
diff --git a/providers/edge/src/airflow/providers/edge/get_provider_info.py
b/providers/edge/src/airflow/providers/edge/get_provider_info.py
index 3644a82aae8..3273bf6825a 100644
--- a/providers/edge/src/airflow/providers/edge/get_provider_info.py
+++ b/providers/edge/src/airflow/providers/edge/get_provider_info.py
@@ -28,7 +28,7 @@ def get_provider_info():
"description": "Handle edge workers on remote sites via HTTP(s)
connection and orchestrates work over distributed sites\n",
"state": "not-ready",
"source-date-epoch": 1737371680,
- "versions": ["0.14.0pre0"],
+ "versions": ["0.14.1pre0"],
"plugins": [
{
"name": "edge_executor",