Skip to content

fix google provider DataprocSubmitTrigger deferred tasks stuck forever#62082

Open
olegkachur-e wants to merge 1 commit intoapache:mainfrom
VladaZakharova:dataproc_trigger_fix
Open

fix google provider DataprocSubmitTrigger deferred tasks stuck forever#62082
olegkachur-e wants to merge 1 commit intoapache:mainfrom
VladaZakharova:dataproc_trigger_fix

Conversation

@olegkachur-e
Copy link
Contributor

  • To prevent tasks getting stuck in the deffered state, as a result of sync_hook calls thread stuck on retrieveing credentials. Observed on secrets storage connection retrival.

Was generative AI tooling used to co-author this PR?
  • Yes (please specify the tool below)

  • Read the Pull Request Guidelines for more information. Note: commit author/co-author name and email in commits become permanently public when merged.
  • For fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
  • When adding dependency, check compliance with the ASF 3rd Party License Policy.
  • For significant user-facing changes create newsfragment: {pr_number}.significant.rst or {issue_number}.significant.rst, in airflow-core/newsfragments.

@boring-cyborg boring-cyborg bot added area:providers provider:google Google (including GCP) related issues labels Feb 17, 2026
@Srabasti
Copy link
Contributor

Running prek locally and then committing changes will resolve the failing static checks.
Looks like unit tests are failing compatibility checks for Airflow 2.X and 3.X versions.

Copy link
Contributor

@SameerMesiah97 SameerMesiah97 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine conceptually. It looks like it is doing a sync call within the triggerer, which is not ideal. But this seems like it was present before.

Please fix CI.

async def run(self):
hook = self.get_async_hook()
# Trigger client cache with sync call get_credentials(), evaluated once.
await hook.get_job_client(region=self.region)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the client is now initialized once and reused for the trigger lifetime, do we rely on google-auth’s automatic credential refresh? Just checking that long-running triggers won’t fail due to token expiry.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we rely on refresh logic, introduced in BaseGoogle* hooks classes.

- To prevent tasks getting stuck in the deffered state, as a result
of sync_hook calls thread stuck on retrieveing credentials.
Observed on secrets storage connection retrival.
@olegkachur-e
Copy link
Contributor Author

Looks fine conceptually. It looks like it is doing a sync call within the triggerer, which is not ideal. But this seems like it was present before.

Please fix CI.

Thank you for the review!

Yes, there were sync calls under the hood all the time, this change aim to reduce it's number but not running it on each loop iteration.

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.

3 participants