SEPURI-SAI-KRISHNA commented on issue #71321: URL: https://github.com/apache/airflow/issues/71321#issuecomment-5224488689
Tested `apache-airflow-providers-google==22.3.0rc4` for [#70430](https://github.com/apache/airflow/pull/70430) (Fail deferred Cloud Composer tasks when the GCP operation errors) — works as expected. Re-ran everything against the re-cut rather than only carrying over my rc3 result from https://github.com/apache/airflow/issues/71246#issuecomment-5208084620. Installed the RC wheel from PyPI into a clean Python 3.12.3 virtualenv with Airflow 3.3.0; `pip check` is clean. Wheel SHA-256 is `f1a1476759aa3177ec171ec3810bb8dacb8b4057b5864153148a09297fab213a`, matching the PyPI artifact. **Unit tests** against the installed RC — 6 passed, including the two added by the PR: ``` TestCloudComposerExecutionTrigger::test_run_raises_when_operation_finished_with_error PASSED TestCloudComposerExecutionTrigger::test_run_yields_event_when_operation_finished_without_error PASSED ``` **Behavioural check with real LRO objects.** The unit tests use a stand-in, so I also drove the trigger with genuine `google.longrunning.operations_pb2.Operation` values: | Scenario | rc4 | |---|---| | `done=True` with `error.message` set | raises `AirflowException: Cloud Composer Environment error: quota exceeded` | | `done=True`, no error | yields `{'operation_name': ..., 'operation_done': True}` | | polls `done=False` twice, then finishes with error | raises after polling | **Control against the last released provider.** I installed `22.2.2` (pre-fix) in a separate venv and ran the identical scenarios. The bug reproduces there — a failed operation yields a **success** event: ``` CASE1 BUG REPRODUCED: failed operation yielded SUCCESS -> {'operation_name': 'op', 'operation_done': True} CASE3 BUG REPRODUCED: poll-then-fail yielded SUCCESS -> {'operation_name': 'op', 'operation_done': True} ``` and the PR's regression test fails on it: ``` test_run_raises_when_operation_finished_with_error FAILED - Failed: DID NOT RAISE AirflowException ``` So the change is confirmed to be the thing that fixes it, not an incidental pass. For completeness, `airflow/providers/google/cloud/triggers/cloud_composer.py` is byte-identical between rc3 and rc4 (`sha256 4990060e9847b783c1739115292990bb3e125626984ed7ea889bfbd0bb06f4b8`), so the re-cut did not disturb this change. I have not tested the Python 3.14 installability fix (#71273) — no 3.14 interpreter available here — and I don't have a live Composer environment, so this is verification against the released artifact rather than a real environment creation/update failure. --- Drafted-by: Claude Code (Opus 5); reviewed by @SEPURI-SAI-KRISHNA before posting -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
