Skip to content

chore(amber): remove the unused DeployStrategy family - #7705

Open
aglinxinyuan wants to merge 2 commits into
apache:mainfrom
aglinxinyuan:chore/remove-deploy-strategy
Open

chore(amber): remove the unused DeployStrategy family#7705
aglinxinyuan wants to merge 2 commits into
apache:mainfrom
aglinxinyuan:chore/remove-deploy-strategy

Conversation

@aglinxinyuan

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

Deletes the deploystrategy package — the DeployStrategy trait, its three implementations (OneOnEach, RandomDeployment, RoundRobinDeployment) and their shared spec. Pure deletion, no behaviour change: −293 lines.

Nothing has called any of them since #1807 (2023-02-02, "[Compiler Refactor 6] Refactor Amber Workflow to use the new PhysicalPlan implementation"). Searching both by symbol name and by package path, the only files that reference the four types are the package's own files and its spec.

Worker placement is now inline. ExecutorDeployment.createWorkers picks an address straight off AddressInfo:

addressInfo.allAddresses(workerIndex % addressInfo.allAddresses.length)

RoundRobinDeployment's logic absorbed into the caller. Coordinator and RegionExecutionManager reach placement through that path and never touch the trait.

Reviewer note — why this looks alive. The package got two fixes in May 2026, #5028 (reset the iteration cursor in OneOnEach.initialize) and #5029 (unify the empty-array errors), plus the unit-test suite from #4723. All three came from starter-task and coverage issues (#4731, #4732, #4722) that polish the code where it sits; none wires it to a caller. Every related issue and PR is closed and nothing open proposes using the trait — but if a worker-placement change is planned that wants this abstraction back, say so and I will close this.

AddressInfo lives one package up in deploysemantics and is not touched — it is what the live path reads.

Any related issues, documentation, discussions?

Closes #7704

How was this PR tested?

Existing tests only — this PR adds none, since it removes code and the spec that covered it.

Locally, from the repo root with Java 17:

  • sbt "WorkflowExecutionService/Test/compile" — success (main and test sources).

Verification, re-runnable by a reviewer:

git grep -w DeployStrategy OneOnEach RandomDeployment RoundRobinDeployment   # only the deleted files
git grep -l deploystrategy                                                   # only the deleted files

CI note: the build jobs currently fail repo-wide at workflow startup — an org policy blocks the injected carabiner-dev/actions/install/ampel action ("not allowed in apache/texera"). main fails identically, so it is unrelated to this change; same class as #6989 and #7572.

Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Opus 5)

Copilot AI lite review requested due to automatic review settings August 17, 2026 02:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

Copy link
Copy Markdown
Contributor

Automated Reviewer Suggestions

Based on the git blame history of the changed files, we recommend the following reviewers:

  • No candidates found from git blame history.

@aglinxinyuan
aglinxinyuan requested a review from mengw15 August 17, 2026 06:25
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Benchmark changes need a look

🟢 4 better · 🔴 3 worse · ⚪ 8 noise (<±5%) · 0 without baseline

Compared against main 1c4662b benchmarked on this same runner, so the delta is largely free of cross-runner hardware noise. The "7d avg" column still reflects the gh-pages dashboard. Treat <±5% as noise unless repeated.

Dashboard · Run

config throughput MB/s latency max Δ latest / 7d
🟢 bs=10 sw=10 sl=64 422 0.257 23,479/28,441/28,441 us 🟢 -12.3% / 🔴 +86.0%
🔴 bs=100 sw=10 sl=64 911 0.556 110,014/129,932/129,932 us 🟢 -21.5% / 🔴 +23.0%
🔴 bs=1000 sw=10 sl=64 1,065 0.65 933,557/1,029,234/1,029,234 us 🔴 +5.7% / ⚪ within ±5%
Baseline details

Latest main 1c4662b from same runner

config metric PR latest main 7d avg Δ latest Δ 7d
bs=10 sw=10 sl=64 throughput 422 tuples/sec 439 tuples/sec 784.16 tuples/sec -3.9% -46.2%
bs=10 sw=10 sl=64 MB/s 0.257 MB/s 0.268 MB/s 0.479 MB/s -4.1% -46.3%
bs=10 sw=10 sl=64 p50 23,479 us 22,875 us 12,626 us +2.6% +86.0%
bs=10 sw=10 sl=64 p95 28,441 us 32,426 us 16,169 us -12.3% +75.9%
bs=10 sw=10 sl=64 p99 28,441 us 32,426 us 18,986 us -12.3% +49.8%
bs=100 sw=10 sl=64 throughput 911 tuples/sec 899 tuples/sec 1,023 tuples/sec +1.3% -11.0%
bs=100 sw=10 sl=64 MB/s 0.556 MB/s 0.549 MB/s 0.625 MB/s +1.3% -11.0%
bs=100 sw=10 sl=64 p50 110,014 us 102,543 us 99,185 us +7.3% +10.9%
bs=100 sw=10 sl=64 p95 129,932 us 165,467 us 105,616 us -21.5% +23.0%
bs=100 sw=10 sl=64 p99 129,932 us 165,467 us 113,681 us -21.5% +14.3%
bs=1000 sw=10 sl=64 throughput 1,065 tuples/sec 1,070 tuples/sec 1,057 tuples/sec -0.5% +0.8%
bs=1000 sw=10 sl=64 MB/s 0.65 MB/s 0.653 MB/s 0.645 MB/s -0.5% +0.8%
bs=1000 sw=10 sl=64 p50 933,557 us 941,026 us 965,435 us -0.8% -3.3%
bs=1000 sw=10 sl=64 p95 1,029,234 us 973,451 us 1,012,135 us +5.7% +1.7%
bs=1000 sw=10 sl=64 p99 1,029,234 us 973,451 us 1,042,088 us +5.7% -1.2%
Raw CSV
config_idx,batch_size,schema_width,string_len,num_batches,total_ms,total_tuples,total_bytes,tuples_per_sec,mb_per_sec,lat_p50_us,lat_p95_us,lat_p99_us
0,10,10,64,20,474.27,200,128000,422,0.257,23479.15,28440.93,28440.93
1,100,10,64,20,2195.80,2000,1280000,911,0.556,110014.11,129932.44,129932.44
2,1000,10,64,20,18778.67,20000,12800000,1065,0.650,933557.42,1029233.58,1029233.58

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.93%. Comparing base (1c4662b) to head (47cfc06).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #7705      +/-   ##
============================================
- Coverage     90.93%   90.93%   -0.01%     
+ Complexity     4450     4435      -15     
============================================
  Files          1174     1171       -3     
  Lines         47139    47108      -31     
  Branches       5284     5283       -1     
============================================
- Hits          42867    42837      -30     
- Misses         2579     2580       +1     
+ Partials       1693     1691       -2     
Flag Coverage Δ *Carryforward flag
access-control-service 81.00% <ø> (ø) Carriedforward from 1c4662b
agent-service 98.62% <ø> (ø) Carriedforward from 1c4662b
amber 87.37% <ø> (-0.02%) ⬇️
computing-unit-managing-service 73.67% <ø> (ø) Carriedforward from 1c4662b
config-service 86.73% <ø> (ø) Carriedforward from 1c4662b
file-service 68.90% <ø> (ø) Carriedforward from 1c4662b
frontend 92.43% <ø> (ø) Carriedforward from 1c4662b
notebook-migration-service 83.74% <ø> (ø) Carriedforward from 1c4662b
pyamber 97.57% <ø> (ø) Carriedforward from 1c4662b
workflow-compiling-service 77.19% <ø> (ø) Carriedforward from 1c4662b

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to 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.

Remove the unused DeployStrategy family from the amber engine

3 participants