Skip to content

Add timeout and exponential backoff to Tableau refresh wait#69479

Merged
vincbeck merged 1 commit into
apache:mainfrom
jayamanikharyono:tableau-refresh-wait-timeout-and-backoff
Jul 6, 2026
Merged

Add timeout and exponential backoff to Tableau refresh wait#69479
vincbeck merged 1 commit into
apache:mainfrom
jayamanikharyono:tableau-refresh-wait-timeout-and-backoff

Conversation

@jayamanikharyono

Copy link
Copy Markdown
Contributor

TableauOperator's blocking refresh polls wait_for_state with a fixed interval and no upper bound — if a Tableau Server job gets stuck in PENDING, the task waits forever with no way out.

This adds three optional parameters to TableauHook.wait_for_state and TableauOperator:

Parameter Effect
timeout Raise TimeoutError after a bounded wait instead of polling indefinitely.
exponential_backoff Grow the wait between checks by 50% each time instead of a fixed interval, to reduce polling load on long-running refreshes.
max_check_interval Cap the growth from exponential_backoff.

All three default to the previous behavior (None/False), so existing Dags are unaffected.


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

@vincbeck vincbeck merged commit fd5686c into apache:main Jul 6, 2026
78 checks passed
@boring-cyborg

boring-cyborg Bot commented Jul 6, 2026

Copy link
Copy Markdown

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants