Repository navigation
Commit 02acc4f
authored
fix(deployment): make reconciliation leases durable (#205)
## Summary
- persist delayed reconciliation wakeups instead of repeatedly
reacquiring work that is not ready
- keep eligible controller work under one bounded lease and run
independent ready resources concurrently
- renew ownership through a dedicated endpoint without rewriting
deployment state
- cancel promptly when ownership is lost and clear scheduled delays for
explicit user actions
## Why
A fresh multi-resource deployment exposed two framework failures: short
controller waits were repeatedly yielded through the shared scheduler,
and manager replicas could remain occupied retrying work after lease
loss. This preserves durable checkpoints while avoiding unnecessary
distributed scheduling between adjacent controller steps.
## Validation
- `cargo check -p alien-infra -p alien-deployment -p alien-manager
--all-features`
- 851 tests across `alien-infra`, `alien-deployment`, and
`alien-manager` passed (1 skipped)
- generated OpenAPI artifacts were produced through the repository
generators
## Dependency
Stacked on #179.
Linear:
https://linear.app/alienplatform/issue/ALIEN-324/make-deployment-leases-cancellable-and-keep-short-controller1 parent 1f12e36 commit 02acc4f
31 files changed
Lines changed: 734 additions & 149 deletions
File tree
- client-sdks
- manager
- rust
- platform
- rust
- crates
- alien-cli/src/commands
- alien-deploy-cli/src/commands
- alien-deployment/src
- alien-infra/src
- core
- executor_tests
- storage
- alien-macros/src
- alien-manager
- src
- loops
- routes
- stores/sqlite
- traits
- transports
- tests
- alien-operator/src/loops
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1464 | 1464 | | |
1465 | 1465 | | |
1466 | 1466 | | |
1467 | | - | |
| 1467 | + | |
1468 | 1468 | | |
1469 | 1469 | | |
1470 | 1470 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
281 | 281 | | |
282 | 282 | | |
283 | 283 | | |
284 | | - | |
| 284 | + | |
285 | 285 | | |
286 | 286 | | |
287 | 287 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3576 | 3576 | | |
3577 | 3577 | | |
3578 | 3578 | | |
3579 | | - | |
| 3579 | + | |
3580 | 3580 | | |
3581 | 3581 | | |
3582 | 3582 | | |
| |||
3840 | 3840 | | |
3841 | 3841 | | |
3842 | 3842 | | |
3843 | | - | |
| 3843 | + | |
3844 | 3844 | | |
3845 | 3845 | | |
3846 | 3846 | | |
| |||
3938 | 3938 | | |
3939 | 3939 | | |
3940 | 3940 | | |
3941 | | - | |
| 3941 | + | |
3942 | 3942 | | |
3943 | 3943 | | |
3944 | 3944 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
41 | 57 | | |
42 | 58 | | |
43 | 59 | | |
| |||
0 commit comments