This is an automated email from the ASF dual-hosted git repository.

vatsrahul1001 pushed a commit to branch v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/v3-4-test by this push:
     new 29fd4976404 [v3-4-test] Keep RunsOn runners off the Spot pools 
reclaimed most often (#76084) (#76114)
29fd4976404 is described below

commit 29fd4976404be41f2c95681b97a47a9bb56cf436
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Sat Oct 31 12:44:24 2026 +0530

    [v3-4-test] Keep RunsOn runners off the Spot pools reclaimed most often 
(#76084) (#76114)
    
    From 2026-10-25 to 2026-10-30 about half of the Spot interruptions of 
RunsOn runners in us-east-2
    came from a few instance families that made up only an eighth of the Spot 
launches: m5 (and the
    m5n, m5d, m5ad, m5dn pools its prefix pulls in), m6a, and the r6a, r7a and 
r6i pools of the
    in-memory runners were reclaimed 13-54% of the time, the other families 
1-4%. Each interruption
    reruns the whole job. AWS Spot Advisor rates r7i above 20% in the region 
too.
    (cherry picked from commit 95ba43c0347098ad0347d329717133c97facfc5a)
    
    
    Generated-by: Claude Opus 5
    
    Co-authored-by: Jarek Potiuk <[email protected]>
---
 dev/breeze/src/airflow_breeze/global_constants.py | 7 +++++--
 dev/breeze/tests/test_selective_checks.py         | 5 ++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/dev/breeze/src/airflow_breeze/global_constants.py 
b/dev/breeze/src/airflow_breeze/global_constants.py
index 6f710833188..aa619bbc61f 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -43,8 +43,11 @@ PUBLIC_ARM_RUNNERS = '["ubuntu-22.04-arm"]'
 # `spot=co` (capacity-optimized) takes Spot from the pools least likely to run 
out or be reclaimed
 # instead of RunsOn's default price-capacity-optimized: a capacity miss or an 
interruption sends the
 # runner to on-demand (and reruns the whole job), which costs more than the 
higher Spot price.
+# A family matches as a prefix (`m5` also takes m5n, m5d, ...). Left out 
because their us-east-2 Spot
+# runners were reclaimed far more often than the rest (13-54% vs. 1-4%, Oct 
2026): m5, m5a, m6a and,
+# for the in-memory runners, r7a, r6a, r6i; r7i, which AWS Spot Advisor rates 
>20% there, too.
 RUNS_ON_AMD_RUNNER_TEMPLATE = (
-    
"runs-on={run_id}/family=m8a+m8i+m7a+m7i+m6a+m6i+m5a+m5/image=ubuntu22-full-x64/volume=150gb/spot=co"
+    
"runs-on={run_id}/family=m8a+m8i+m7a+m7i+m6i/image=ubuntu22-full-x64/volume=150gb/spot=co"
     "/cpu={{0}}/ram={{1}}"
 )
 RUNS_ON_ARM_RUNNER_TEMPLATE = (
@@ -54,7 +57,7 @@ RUNS_ON_ARM_RUNNER_TEMPLATE = (
 # databases wait on disk syncs. The RAM disk is capped at 100% of RAM before 
RunsOn v3.5.0, so these jobs
 # ask for memory headroom and also accept the memory-optimized r-family.
 RUNS_ON_AMD_IN_MEMORY_RUNNER_TEMPLATE = (
-    
"runs-on={run_id}/family=m8a+m8i+m7a+m7i+m6a+m6i+m5a+m5+r8i+r7a+r7i+r6a+r6i"
+    "runs-on={run_id}/family=m8a+m8i+m7a+m7i+m6i+r8i"
     "/image=ubuntu22-full-x64/volume=150gb/spot=co"
     "/cpu={{0}}/ram={{1}}/extras=tmpfs"
 )
diff --git a/dev/breeze/tests/test_selective_checks.py 
b/dev/breeze/tests/test_selective_checks.py
index fd36a7c4975..47d3913f8b9 100644
--- a/dev/breeze/tests/test_selective_checks.py
+++ b/dev/breeze/tests/test_selective_checks.py
@@ -5198,14 +5198,13 @@ def 
test_providers_with_test_side_effects_are_shared_process_providers():
 
 
 RUNS_ON_AMD = (
-    
'["runs-on=42/family=m8a+m8i+m7a+m7i+m6a+m6i+m5a+m5/image=ubuntu22-full-x64/volume=150gb/spot=co'
-    '/cpu={0}/ram={1}"]'
+    
'["runs-on=42/family=m8a+m8i+m7a+m7i+m6i/image=ubuntu22-full-x64/volume=150gb/spot=co/cpu={0}/ram={1}"]'
 )
 RUNS_ON_ARM = (
     
'["runs-on=42/family=m8g+m7g+m6g/image=ubuntu22-full-arm64/volume=150gb/spot=co/cpu={0}/ram={1}"]'
 )
 RUNS_ON_AMD_IN_MEMORY = (
-    '["runs-on=42/family=m8a+m8i+m7a+m7i+m6a+m6i+m5a+m5+r8i+r7a+r7i+r6a+r6i'
+    '["runs-on=42/family=m8a+m8i+m7a+m7i+m6i+r8i'
     "/image=ubuntu22-full-x64/volume=150gb/spot=co"
     '/cpu={0}/ram={1}/extras=tmpfs"]'
 )

Reply via email to