Refactor deferrable execution in DbtCloudRunJobOperator - #66449

Merged
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor
May 16, 2026
Merged

Refactor deferrable execution in DbtCloudRunJobOperator#66449
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor

Conversation

@SameerMesiah97

Copy link
Copy Markdown
Contributor

Description

This change refactors the deferrable execution path of DbtCloudRunJobOperator to align with the implementation introduced in PR #64051 following maintainer feedback.

In deferrable mode, the operator now passes execution_timeout through defer(), and the trigger has been restructured to simplify polling and terminal state handling. Cancellation on timeout events has been updated to use best-effort semantics.

Rationale

This change brings the deferrable implementation of DbtCloudRunJobOperator in line with the pattern established in PR #64051 after maintainer feedback, ensuring consistency across deferrable operators.

In deferrable mode, execution is handled by a trigger running in the triggerer process rather than a worker process. As a result, timeout and terminal state handling must be coordinated between the operator and trigger.

This refactor simplifies the trigger control flow, removes redundant status checks, and standardizes how job state is evaluated across polling iterations, improving readability and maintainability.

Notes

  • The same best-effort semantics are applied in on_kill for consistency; cancellation errors are logged and not re-raised.
  • Replaced time.time() with time.monotonic() for deadline calculations to ensure monotonic time semantics.

Tests

  • Added an operator-level test verifying that cancellation failures during timeout handling do not mask the original timeout error (execute_complete still raises).
  • Added an operator-level test verifying that no cancellation is attempted when a timeout event is received without a run_id.
  • Added an operator-level test verifying that on_kill performs cancellation and confirms successful termination when possible.
  • Added an operator-level test verifying best-effort semantics in on_kill, ensuring cancellation and confirmation failures do not raise.
  • Adjusted existing trigger tests (including fixtures and supporting test setup) to accommodate the refactored polling structure and updated control flow.
  • Removed trigger test covering final status re-check logic, as this behavior is no longer part of the refactored polling implementation.
  • Existing tests have been updated and parameterized where appropriate.

Backwards Compatibility

This change does not modify public APIs or method signatures.

… PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill.
@SameerMesiah97

Copy link
Copy Markdown
ContributorAuthor

Requesting review for this.

@choo121600choo121600 added the ready for maintainer review Set after triaging when all criteria pass. label May 15, 2026
@josh-fell
josh-fell merged commit bc8ef9a into apache:mainMay 16, 2026
143 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

StatusBranchResult
v3-2-testPR Link

github-actionsBot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 20, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 21, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SameerMesiah97@josh-fell@choo121600
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Refactor deferrable execution in DbtCloudRunJobOperator - #66449

Merged
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor
May 16, 2026
Merged

Refactor deferrable execution in DbtCloudRunJobOperator#66449
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor

Conversation

@SameerMesiah97

Copy link
Copy Markdown
Contributor

Description

This change refactors the deferrable execution path of DbtCloudRunJobOperator to align with the implementation introduced in PR #64051 following maintainer feedback.

In deferrable mode, the operator now passes execution_timeout through defer(), and the trigger has been restructured to simplify polling and terminal state handling. Cancellation on timeout events has been updated to use best-effort semantics.

Rationale

This change brings the deferrable implementation of DbtCloudRunJobOperator in line with the pattern established in PR #64051 after maintainer feedback, ensuring consistency across deferrable operators.

In deferrable mode, execution is handled by a trigger running in the triggerer process rather than a worker process. As a result, timeout and terminal state handling must be coordinated between the operator and trigger.

This refactor simplifies the trigger control flow, removes redundant status checks, and standardizes how job state is evaluated across polling iterations, improving readability and maintainability.

Notes

  • The same best-effort semantics are applied in on_kill for consistency; cancellation errors are logged and not re-raised.
  • Replaced time.time() with time.monotonic() for deadline calculations to ensure monotonic time semantics.

Tests

  • Added an operator-level test verifying that cancellation failures during timeout handling do not mask the original timeout error (execute_complete still raises).
  • Added an operator-level test verifying that no cancellation is attempted when a timeout event is received without a run_id.
  • Added an operator-level test verifying that on_kill performs cancellation and confirms successful termination when possible.
  • Added an operator-level test verifying best-effort semantics in on_kill, ensuring cancellation and confirmation failures do not raise.
  • Adjusted existing trigger tests (including fixtures and supporting test setup) to accommodate the refactored polling structure and updated control flow.
  • Removed trigger test covering final status re-check logic, as this behavior is no longer part of the refactored polling implementation.
  • Existing tests have been updated and parameterized where appropriate.

Backwards Compatibility

This change does not modify public APIs or method signatures.

… PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill.
@SameerMesiah97

Copy link
Copy Markdown
ContributorAuthor

Requesting review for this.

@choo121600choo121600 added the ready for maintainer review Set after triaging when all criteria pass. label May 15, 2026
@josh-fell
josh-fell merged commit bc8ef9a into apache:mainMay 16, 2026
143 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

StatusBranchResult
v3-2-testPR Link

github-actionsBot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 20, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 21, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SameerMesiah97@josh-fell@choo121600
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Refactor deferrable execution in DbtCloudRunJobOperator - #66449

Merged
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor
May 16, 2026
Merged

Refactor deferrable execution in DbtCloudRunJobOperator#66449
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor

Conversation

@SameerMesiah97

Copy link
Copy Markdown
Contributor

Description

This change refactors the deferrable execution path of DbtCloudRunJobOperator to align with the implementation introduced in PR #64051 following maintainer feedback.

In deferrable mode, the operator now passes execution_timeout through defer(), and the trigger has been restructured to simplify polling and terminal state handling. Cancellation on timeout events has been updated to use best-effort semantics.

Rationale

This change brings the deferrable implementation of DbtCloudRunJobOperator in line with the pattern established in PR #64051 after maintainer feedback, ensuring consistency across deferrable operators.

In deferrable mode, execution is handled by a trigger running in the triggerer process rather than a worker process. As a result, timeout and terminal state handling must be coordinated between the operator and trigger.

This refactor simplifies the trigger control flow, removes redundant status checks, and standardizes how job state is evaluated across polling iterations, improving readability and maintainability.

Notes

  • The same best-effort semantics are applied in on_kill for consistency; cancellation errors are logged and not re-raised.
  • Replaced time.time() with time.monotonic() for deadline calculations to ensure monotonic time semantics.

Tests

  • Added an operator-level test verifying that cancellation failures during timeout handling do not mask the original timeout error (execute_complete still raises).
  • Added an operator-level test verifying that no cancellation is attempted when a timeout event is received without a run_id.
  • Added an operator-level test verifying that on_kill performs cancellation and confirms successful termination when possible.
  • Added an operator-level test verifying best-effort semantics in on_kill, ensuring cancellation and confirmation failures do not raise.
  • Adjusted existing trigger tests (including fixtures and supporting test setup) to accommodate the refactored polling structure and updated control flow.
  • Removed trigger test covering final status re-check logic, as this behavior is no longer part of the refactored polling implementation.
  • Existing tests have been updated and parameterized where appropriate.

Backwards Compatibility

This change does not modify public APIs or method signatures.

… PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill.
@SameerMesiah97

Copy link
Copy Markdown
ContributorAuthor

Requesting review for this.

@choo121600choo121600 added the ready for maintainer review Set after triaging when all criteria pass. label May 15, 2026
@josh-fell
josh-fell merged commit bc8ef9a into apache:mainMay 16, 2026
143 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

StatusBranchResult
v3-2-testPR Link

github-actionsBot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 20, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 21, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SameerMesiah97@josh-fell@choo121600
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Refactor deferrable execution in DbtCloudRunJobOperator - #66449

Merged
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor
May 16, 2026
Merged

Refactor deferrable execution in DbtCloudRunJobOperator#66449
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor

Conversation

@SameerMesiah97

Copy link
Copy Markdown
Contributor

Description

This change refactors the deferrable execution path of DbtCloudRunJobOperator to align with the implementation introduced in PR #64051 following maintainer feedback.

In deferrable mode, the operator now passes execution_timeout through defer(), and the trigger has been restructured to simplify polling and terminal state handling. Cancellation on timeout events has been updated to use best-effort semantics.

Rationale

This change brings the deferrable implementation of DbtCloudRunJobOperator in line with the pattern established in PR #64051 after maintainer feedback, ensuring consistency across deferrable operators.

In deferrable mode, execution is handled by a trigger running in the triggerer process rather than a worker process. As a result, timeout and terminal state handling must be coordinated between the operator and trigger.

This refactor simplifies the trigger control flow, removes redundant status checks, and standardizes how job state is evaluated across polling iterations, improving readability and maintainability.

Notes

  • The same best-effort semantics are applied in on_kill for consistency; cancellation errors are logged and not re-raised.
  • Replaced time.time() with time.monotonic() for deadline calculations to ensure monotonic time semantics.

Tests

  • Added an operator-level test verifying that cancellation failures during timeout handling do not mask the original timeout error (execute_complete still raises).
  • Added an operator-level test verifying that no cancellation is attempted when a timeout event is received without a run_id.
  • Added an operator-level test verifying that on_kill performs cancellation and confirms successful termination when possible.
  • Added an operator-level test verifying best-effort semantics in on_kill, ensuring cancellation and confirmation failures do not raise.
  • Adjusted existing trigger tests (including fixtures and supporting test setup) to accommodate the refactored polling structure and updated control flow.
  • Removed trigger test covering final status re-check logic, as this behavior is no longer part of the refactored polling implementation.
  • Existing tests have been updated and parameterized where appropriate.

Backwards Compatibility

This change does not modify public APIs or method signatures.

… PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill.
@SameerMesiah97

Copy link
Copy Markdown
ContributorAuthor

Requesting review for this.

@choo121600choo121600 added the ready for maintainer review Set after triaging when all criteria pass. label May 15, 2026
@josh-fell
josh-fell merged commit bc8ef9a into apache:mainMay 16, 2026
143 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

StatusBranchResult
v3-2-testPR Link

github-actionsBot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 20, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 21, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SameerMesiah97@josh-fell@choo121600
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Refactor deferrable execution in DbtCloudRunJobOperator - #66449

Merged
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor
May 16, 2026
Merged

Refactor deferrable execution in DbtCloudRunJobOperator#66449
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor

Conversation

@SameerMesiah97

Copy link
Copy Markdown
Contributor

Description

This change refactors the deferrable execution path of DbtCloudRunJobOperator to align with the implementation introduced in PR #64051 following maintainer feedback.

In deferrable mode, the operator now passes execution_timeout through defer(), and the trigger has been restructured to simplify polling and terminal state handling. Cancellation on timeout events has been updated to use best-effort semantics.

Rationale

This change brings the deferrable implementation of DbtCloudRunJobOperator in line with the pattern established in PR #64051 after maintainer feedback, ensuring consistency across deferrable operators.

In deferrable mode, execution is handled by a trigger running in the triggerer process rather than a worker process. As a result, timeout and terminal state handling must be coordinated between the operator and trigger.

This refactor simplifies the trigger control flow, removes redundant status checks, and standardizes how job state is evaluated across polling iterations, improving readability and maintainability.

Notes

  • The same best-effort semantics are applied in on_kill for consistency; cancellation errors are logged and not re-raised.
  • Replaced time.time() with time.monotonic() for deadline calculations to ensure monotonic time semantics.

Tests

  • Added an operator-level test verifying that cancellation failures during timeout handling do not mask the original timeout error (execute_complete still raises).
  • Added an operator-level test verifying that no cancellation is attempted when a timeout event is received without a run_id.
  • Added an operator-level test verifying that on_kill performs cancellation and confirms successful termination when possible.
  • Added an operator-level test verifying best-effort semantics in on_kill, ensuring cancellation and confirmation failures do not raise.
  • Adjusted existing trigger tests (including fixtures and supporting test setup) to accommodate the refactored polling structure and updated control flow.
  • Removed trigger test covering final status re-check logic, as this behavior is no longer part of the refactored polling implementation.
  • Existing tests have been updated and parameterized where appropriate.

Backwards Compatibility

This change does not modify public APIs or method signatures.

… PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill.
@SameerMesiah97

Copy link
Copy Markdown
ContributorAuthor

Requesting review for this.

@choo121600choo121600 added the ready for maintainer review Set after triaging when all criteria pass. label May 15, 2026
@josh-fell
josh-fell merged commit bc8ef9a into apache:mainMay 16, 2026
143 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

StatusBranchResult
v3-2-testPR Link

github-actionsBot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 20, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 21, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SameerMesiah97@josh-fell@choo121600
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Refactor deferrable execution in DbtCloudRunJobOperator - #66449

Merged
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor
May 16, 2026
Merged

Refactor deferrable execution in DbtCloudRunJobOperator#66449
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor

Conversation

@SameerMesiah97

Copy link
Copy Markdown
Contributor

Description

This change refactors the deferrable execution path of DbtCloudRunJobOperator to align with the implementation introduced in PR #64051 following maintainer feedback.

In deferrable mode, the operator now passes execution_timeout through defer(), and the trigger has been restructured to simplify polling and terminal state handling. Cancellation on timeout events has been updated to use best-effort semantics.

Rationale

This change brings the deferrable implementation of DbtCloudRunJobOperator in line with the pattern established in PR #64051 after maintainer feedback, ensuring consistency across deferrable operators.

In deferrable mode, execution is handled by a trigger running in the triggerer process rather than a worker process. As a result, timeout and terminal state handling must be coordinated between the operator and trigger.

This refactor simplifies the trigger control flow, removes redundant status checks, and standardizes how job state is evaluated across polling iterations, improving readability and maintainability.

Notes

  • The same best-effort semantics are applied in on_kill for consistency; cancellation errors are logged and not re-raised.
  • Replaced time.time() with time.monotonic() for deadline calculations to ensure monotonic time semantics.

Tests

  • Added an operator-level test verifying that cancellation failures during timeout handling do not mask the original timeout error (execute_complete still raises).
  • Added an operator-level test verifying that no cancellation is attempted when a timeout event is received without a run_id.
  • Added an operator-level test verifying that on_kill performs cancellation and confirms successful termination when possible.
  • Added an operator-level test verifying best-effort semantics in on_kill, ensuring cancellation and confirmation failures do not raise.
  • Adjusted existing trigger tests (including fixtures and supporting test setup) to accommodate the refactored polling structure and updated control flow.
  • Removed trigger test covering final status re-check logic, as this behavior is no longer part of the refactored polling implementation.
  • Existing tests have been updated and parameterized where appropriate.

Backwards Compatibility

This change does not modify public APIs or method signatures.

… PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill.
@SameerMesiah97

Copy link
Copy Markdown
ContributorAuthor

Requesting review for this.

@choo121600choo121600 added the ready for maintainer review Set after triaging when all criteria pass. label May 15, 2026
@josh-fell
josh-fell merged commit bc8ef9a into apache:mainMay 16, 2026
143 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

StatusBranchResult
v3-2-testPR Link

github-actionsBot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 20, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 21, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SameerMesiah97@josh-fell@choo121600
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Refactor deferrable execution in DbtCloudRunJobOperator - #66449

Merged
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor
May 16, 2026
Merged

Refactor deferrable execution in DbtCloudRunJobOperator#66449
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor

Conversation

@SameerMesiah97

Copy link
Copy Markdown
Contributor

Description

This change refactors the deferrable execution path of DbtCloudRunJobOperator to align with the implementation introduced in PR #64051 following maintainer feedback.

In deferrable mode, the operator now passes execution_timeout through defer(), and the trigger has been restructured to simplify polling and terminal state handling. Cancellation on timeout events has been updated to use best-effort semantics.

Rationale

This change brings the deferrable implementation of DbtCloudRunJobOperator in line with the pattern established in PR #64051 after maintainer feedback, ensuring consistency across deferrable operators.

In deferrable mode, execution is handled by a trigger running in the triggerer process rather than a worker process. As a result, timeout and terminal state handling must be coordinated between the operator and trigger.

This refactor simplifies the trigger control flow, removes redundant status checks, and standardizes how job state is evaluated across polling iterations, improving readability and maintainability.

Notes

  • The same best-effort semantics are applied in on_kill for consistency; cancellation errors are logged and not re-raised.
  • Replaced time.time() with time.monotonic() for deadline calculations to ensure monotonic time semantics.

Tests

  • Added an operator-level test verifying that cancellation failures during timeout handling do not mask the original timeout error (execute_complete still raises).
  • Added an operator-level test verifying that no cancellation is attempted when a timeout event is received without a run_id.
  • Added an operator-level test verifying that on_kill performs cancellation and confirms successful termination when possible.
  • Added an operator-level test verifying best-effort semantics in on_kill, ensuring cancellation and confirmation failures do not raise.
  • Adjusted existing trigger tests (including fixtures and supporting test setup) to accommodate the refactored polling structure and updated control flow.
  • Removed trigger test covering final status re-check logic, as this behavior is no longer part of the refactored polling implementation.
  • Existing tests have been updated and parameterized where appropriate.

Backwards Compatibility

This change does not modify public APIs or method signatures.

… PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill.
@SameerMesiah97

Copy link
Copy Markdown
ContributorAuthor

Requesting review for this.

@choo121600choo121600 added the ready for maintainer review Set after triaging when all criteria pass. label May 15, 2026
@josh-fell
josh-fell merged commit bc8ef9a into apache:mainMay 16, 2026
143 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

StatusBranchResult
v3-2-testPR Link

github-actionsBot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 20, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 21, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SameerMesiah97@josh-fell@choo121600
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Refactor deferrable execution in DbtCloudRunJobOperator - #66449

Merged
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor
May 16, 2026
Merged

Refactor deferrable execution in DbtCloudRunJobOperator#66449
josh-fell merged 1 commit into
apache:mainfrom
SameerMesiah97:DBTCloudJobRunOperator-Deferrable-Refactor

Conversation

@SameerMesiah97

Copy link
Copy Markdown
Contributor

Description

This change refactors the deferrable execution path of DbtCloudRunJobOperator to align with the implementation introduced in PR #64051 following maintainer feedback.

In deferrable mode, the operator now passes execution_timeout through defer(), and the trigger has been restructured to simplify polling and terminal state handling. Cancellation on timeout events has been updated to use best-effort semantics.

Rationale

This change brings the deferrable implementation of DbtCloudRunJobOperator in line with the pattern established in PR #64051 after maintainer feedback, ensuring consistency across deferrable operators.

In deferrable mode, execution is handled by a trigger running in the triggerer process rather than a worker process. As a result, timeout and terminal state handling must be coordinated between the operator and trigger.

This refactor simplifies the trigger control flow, removes redundant status checks, and standardizes how job state is evaluated across polling iterations, improving readability and maintainability.

Notes

  • The same best-effort semantics are applied in on_kill for consistency; cancellation errors are logged and not re-raised.
  • Replaced time.time() with time.monotonic() for deadline calculations to ensure monotonic time semantics.

Tests

  • Added an operator-level test verifying that cancellation failures during timeout handling do not mask the original timeout error (execute_complete still raises).
  • Added an operator-level test verifying that no cancellation is attempted when a timeout event is received without a run_id.
  • Added an operator-level test verifying that on_kill performs cancellation and confirms successful termination when possible.
  • Added an operator-level test verifying best-effort semantics in on_kill, ensuring cancellation and confirmation failures do not raise.
  • Adjusted existing trigger tests (including fixtures and supporting test setup) to accommodate the refactored polling structure and updated control flow.
  • Removed trigger test covering final status re-check logic, as this behavior is no longer part of the refactored polling implementation.
  • Existing tests have been updated and parameterized where appropriate.

Backwards Compatibility

This change does not modify public APIs or method signatures.

… PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill.
@SameerMesiah97

Copy link
Copy Markdown
ContributorAuthor

Requesting review for this.

@choo121600choo121600 added the ready for maintainer review Set after triaging when all criteria pass. label May 15, 2026
@josh-fell
josh-fell merged commit bc8ef9a into apache:mainMay 16, 2026
143 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

StatusBranchResult
v3-2-testPR Link

github-actionsBot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
aws-airflow-bot pushed a commit to aws-mwaa/upstream-to-airflow that referenced this pull request May 16, 2026
…o align with PR apache#64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (apache#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 20, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
vatsrahul1001 pushed a commit that referenced this pull request May 21, 2026
…o align with PR #64051 patterns. Simplify trigger polling/control flow and propagate execution_timeout via defer. Add tests for best-effort cancellation semantics in execute_complete and on_kill. (#66449)
(cherry picked from commit bc8ef9a)
Co-authored-by: SameerMesiah97 <75502260+SameerMesiah97@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SameerMesiah97@josh-fell@choo121600