Skip to content

🩹 fix: Use GoogleBaseAsyncHook - #55316

Merged
shahar1 merged 1 commit into
apache:mainfrom
morgan-dgk:fix/google-cloud/avoid-using-sync-methods-async-hook
Sep 6, 2025
Merged

🩹 fix: Use GoogleBaseAsyncHook#55316
shahar1 merged 1 commit into
apache:mainfrom
morgan-dgk:fix/google-cloud/avoid-using-sync-methods-async-hook

Conversation

@morgan-dgk

@morgan-dgk morgan-dgk commented Sep 5, 2025

Copy link
Copy Markdown
Contributor

When run with deferrable=True, the CloudRunExecuteJobOperator fails with the error You cannot use AsyncToSync in the same thread as an async event loop - just await the async function directly

This is because the __init__ method of the GoogleBaseHook makes a blocking call to retrieve extra details for the connection.

Inheriting from the existing GoogleBaseAsyncHook in the CloudRunAsyncHook prevents this issue.

This is a similar issue to the issue described in #54350.

Changes were tested locally using Breeze.


When run with `deferrable=True`, the `CloudRunExecuteJobOperator` fails
with the error `You cannot use AsyncToSync in the same thread as an async
event loop - just await the async function directly`

This is because the `__init__` method of the GoogleBaseHook makes a
blocking call to retrieve extra details for the connection.

Inheriting from the existing GoogleBaseAsyncHook in the
`CloudRunAsyncHook` prevents this issue.
@boring-cyborg boring-cyborg Bot added area:providers provider:google Google (including GCP) related issues labels Sep 5, 2025
@shahar1

shahar1 commented Sep 6, 2025

Copy link
Copy Markdown
Contributor

Nice catch!

@shahar1
shahar1 merged commit 175da03 into apache:main Sep 6, 2025
3 checks passed
@boring-cyborg

boring-cyborg Bot commented Sep 6, 2025

Copy link
Copy Markdown

Awesome work, congrats on your first merged pull request! You are invited to check our Issue Tracker for additional contributions.

mangal-vairalkar pushed a commit to mangal-vairalkar/airflow that referenced this pull request Sep 7, 2025
When run with `deferrable=True`, the `CloudRunExecuteJobOperator` fails
with the error `You cannot use AsyncToSync in the same thread as an async
event loop - just await the async function directly`

This is because the `__init__` method of the GoogleBaseHook makes a
blocking call to retrieve extra details for the connection.

Inheriting from the existing GoogleBaseAsyncHook in the
`CloudRunAsyncHook` prevents this issue.

Co-authored-by: Morgan Kerle <morgan.kerle@nine.com.au>
RoyLee1224 pushed a commit to RoyLee1224/airflow that referenced this pull request Sep 8, 2025
When run with `deferrable=True`, the `CloudRunExecuteJobOperator` fails
with the error `You cannot use AsyncToSync in the same thread as an async
event loop - just await the async function directly`

This is because the `__init__` method of the GoogleBaseHook makes a
blocking call to retrieve extra details for the connection.

Inheriting from the existing GoogleBaseAsyncHook in the
`CloudRunAsyncHook` prevents this issue.

Co-authored-by: Morgan Kerle <morgan.kerle@nine.com.au>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providers provider:google Google (including GCP) related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants