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

ashb pushed a commit to branch store-historic-ti-ownership-data
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 781b212c3c5cb2dc3c579d11d79f1e2b05344dfd
Author: Ash Berlin-Taylor <[email protected]>
AuthorDate: Mon Oct 5 15:01:18 2026 +0100

    fixup! Keep retired task attempts and their data under the attempt UUID
    
    Fix provider and plugin tests for the removed history model and rc rule
---
 airflow-core/tests/unit/plugins/test_plugins_manager.py   |  2 +-
 .../amazon/aws/executors/batch/test_batch_executor.py     | 15 +++++++++++----
 .../unit/amazon/aws/executors/ecs/test_ecs_executor.py    | 15 +++++++++++----
 scripts/cov/core_coverage.py                              |  1 -
 4 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/airflow-core/tests/unit/plugins/test_plugins_manager.py 
b/airflow-core/tests/unit/plugins/test_plugins_manager.py
index c34aab0991b..f4f361481cc 100644
--- a/airflow-core/tests/unit/plugins/test_plugins_manager.py
+++ b/airflow-core/tests/unit/plugins/test_plugins_manager.py
@@ -1067,7 +1067,7 @@ class TestExtraLinkTeamVisibility:
     ("version", "direct_url", "allowed"),
     [
         pytest.param("0.10.0", None, False, id="released-0.10.0"),
-        pytest.param("1.0.0rc1", None, False, id="released-1.0.0rc1"),
+        pytest.param("1.0.0rc1", None, True, id="release-candidate-1.0.0rc1"),
         pytest.param("1.0.0", None, True, id="released-1.0.0"),
         pytest.param("1.1.0", None, True, id="released-1.1.0"),
         pytest.param("0.10.0", {"dir_info": {"editable": True}}, True, 
id="editable-source-install"),
diff --git 
a/providers/amazon/tests/unit/amazon/aws/executors/batch/test_batch_executor.py 
b/providers/amazon/tests/unit/amazon/aws/executors/batch/test_batch_executor.py
index 05b5a15b006..0f7802dc0cf 100644
--- 
a/providers/amazon/tests/unit/amazon/aws/executors/batch/test_batch_executor.py
+++ 
b/providers/amazon/tests/unit/amazon/aws/executors/batch/test_batch_executor.py
@@ -59,7 +59,9 @@ from tests_common.test_utils.version_compat import (
 
 if hasattr(BaseExecutor, "get_task_key"):
     from airflow.executors.workloads.types import TaskInstanceUuid
-    from airflow.models.taskinstancehistory import TaskInstanceHistory
+
+    if not AIRFLOW_V_3_4_PLUS:
+        from airflow.models.taskinstancehistory import TaskInstanceHistory
 
 airflow_version = VersionInfo(*map(int, airflow_version_str.split(".")[:3]))
 ARN1 = "arn1"
@@ -1455,9 +1457,14 @@ class TestTaskIdentity:
         session.commit()
         old_id = ti.id
 
-        ti.handle_failure("worker lost", session=session)
-        session.refresh(ti)
-        history = session.get(TaskInstanceHistory, old_id)
+        if AIRFLOW_V_3_4_PLUS:
+            successor = ti.handle_failure("worker lost", session=session)
+            history = session.get(TaskInstance, old_id)
+            ti = successor
+        else:
+            ti.handle_failure("worker lost", session=session)
+            session.refresh(ti)
+            history = session.get(TaskInstanceHistory, old_id)
 
         assert ti.state == TaskInstanceState.UP_FOR_RETRY
         assert ti.id != old_id
diff --git 
a/providers/amazon/tests/unit/amazon/aws/executors/ecs/test_ecs_executor.py 
b/providers/amazon/tests/unit/amazon/aws/executors/ecs/test_ecs_executor.py
index 155abf46ba5..495062d1def 100644
--- a/providers/amazon/tests/unit/amazon/aws/executors/ecs/test_ecs_executor.py
+++ b/providers/amazon/tests/unit/amazon/aws/executors/ecs/test_ecs_executor.py
@@ -68,7 +68,9 @@ from tests_common.test_utils.version_compat import (
 
 if hasattr(BaseExecutor, "get_task_key"):
     from airflow.executors.workloads.types import TaskInstanceUuid
-    from airflow.models.taskinstancehistory import TaskInstanceHistory
+
+    if not AIRFLOW_V_3_4_PLUS:
+        from airflow.models.taskinstancehistory import TaskInstanceHistory
 
 airflow_version = VersionInfo(*map(int, airflow_version_str.split(".")[:3]))
 
@@ -2233,9 +2235,14 @@ class TestTaskIdentity:
         session.commit()
         old_id = ti.id
 
-        ti.handle_failure("worker lost", session=session)
-        session.refresh(ti)
-        history = session.get(TaskInstanceHistory, old_id)
+        if AIRFLOW_V_3_4_PLUS:
+            successor = ti.handle_failure("worker lost", session=session)
+            history = session.get(TaskInstance, old_id)
+            ti = successor
+        else:
+            ti.handle_failure("worker lost", session=session)
+            session.refresh(ti)
+            history = session.get(TaskInstanceHistory, old_id)
 
         assert ti.state == TaskInstanceState.UP_FOR_RETRY
         assert ti.id != old_id
diff --git a/scripts/cov/core_coverage.py b/scripts/cov/core_coverage.py
index cf7cf49f8e4..9995b008069 100644
--- a/scripts/cov/core_coverage.py
+++ b/scripts/cov/core_coverage.py
@@ -61,7 +61,6 @@ files_not_fully_covered = [
     "airflow-core/src/airflow/models/renderedtifields.py",
     "airflow-core/src/airflow/models/serialized_dag.py",
     "airflow-core/src/airflow/models/taskinstance.py",
-    "airflow-core/src/airflow/models/taskinstancehistory.py",
     "airflow-core/src/airflow/models/taskinstancekey.py",
     "airflow-core/src/airflow/models/taskmixin.py",
     "airflow-core/src/airflow/models/trigger.py",

Reply via email to