r3wretrhy opened a new pull request, #72510: URL: https://github.com/apache/airflow/pull/72510
`BeamAsyncHook` started pipeline processes by joining the argv list with POSIX `shlex` quoting and running the result through a shell. The sync hook already uses `subprocess.Popen` with `shell=False` and the original list. The async path could therefore split interpreter or pipeline paths that contain spaces, especially on Windows where POSIX quoting is not what the shell expects. This runs `_beam_version` and `run_beam_command_async` with `asyncio.create_subprocess_exec` so each argument stays one argv entry. Missing interpreters still raise `AirflowException`. Tests assert exec is used (not shell) and that an argument containing spaces survives a live process. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes (Grok) Generated-by: Grok following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) --- * Tests run locally: `python` verification of `run_beam_command_async` with a spaced argument, exec-vs-shell construction, and `_beam_version` error wrapping. Full provider suite via CI: `providers/apache/beam/tests/unit/apache/beam/hooks/test_beam.py`. -- 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]
