potiuk opened a new issue, #42990: URL: https://github.com/apache/airflow/issues/42990
This test is flaky: https://github.com/apache/airflow/actions/runs/11317119713/job/31470297914 ```python =================================== FAILURES =================================== _ test_setup_constraint_mapped_task_upstream_removed_and_success[3-True-removed] _ dag_maker = <dev.tests_common.pytest_plugin.dag_maker.<locals>.DagFactory object at 0x7f65c1117e20> session = <sqlalchemy.orm.session.Session object at 0x7f65ba711d80> get_mapped_task_dagrun = <function get_mapped_task_dagrun.<locals>._get_dagrun at 0x7f6578ac3250> map_index = 3, flag_upstream_failed = True expected_ti_state = <TaskInstanceState.REMOVED: 'removed'> @pytest.mark.parametrize( "map_index, flag_upstream_failed, expected_ti_state", [(2, True, None), (3, True, REMOVED), (4, True, REMOVED), (3, False, None)], ) def test_setup_constraint_mapped_task_upstream_removed_and_success( dag_maker, session, get_mapped_task_dagrun, map_index, flag_upstream_failed, expected_ti_state, ): """ Dynamically mapped setup task with successful and removed upstream tasks. Expect rule to be successful. State is set to REMOVED for map index >= n success """ dr, _, setup_task = get_mapped_task_dagrun(add_setup_tasks=True) ti = dr.get_task_instance(task_id="setup_3", map_index=map_index, session=session) ti.task = setup_task > _test_trigger_rule( ti=ti, session=session, flag_upstream_failed=flag_upstream_failed, expected_ti_state=expected_ti_state, ) tests/ti_deps/deps/test_trigger_rule_dep.py:1518: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ti = <TaskInstance: test_dag.setup_3 test map_index=3 [None]> session = <sqlalchemy.orm.session.Session object at 0x7f65ba711d80> flag_upstream_failed = True, wait_for_past_depends_before_skipping = False expected_reason = '', expected_ti_state = <TaskInstanceState.REMOVED: 'removed'> def _test_trigger_rule( ti: TaskInstance, session: Session, flag_upstream_failed: bool, wait_for_past_depends_before_skipping: bool = False, expected_reason: str = "", expected_ti_state: TaskInstanceState | None = None, ) -> None: assert ti.state is None dep_statuses = tuple( TriggerRuleDep()._evaluate_trigger_rule( ti=ti, dep_context=DepContext( flag_upstream_failed=flag_upstream_failed, wait_for_past_depends_before_skipping=wait_for_past_depends_before_skipping, ), session=session, ) ) if expected_reason: assert len(dep_statuses) == 1 assert not dep_statuses[0].passed assert expected_reason in dep_statuses[0].reason else: > assert not dep_statuses E assert not (TIDepStatus(dep_name='Trigger Rule', passed=False, reason="Task's trigger rule 'all_success' requires all upstream ta...ailed=0, removed=4, done=10, success_setup=6, skipped_setup=0), upstream_task_ids={'setup_3', 'setup_1', 'setup_2'}"),) tests/ti_deps/deps/test_trigger_rule_dep.py:1645: AssertionError ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org