Repository navigation
Clean up old generations that are building up in active long-running workflows - #415
Draft
Thom Chiovoloni (thomcc-work) wants to merge 2 commits into
Draft
Thom Chiovoloni (thomcc-work) wants to merge 2 commits into
Thom Chiovoloni (thomcc-work) wants to merge 2 commits into
Conversation
Thom Chiovoloni (thomcc-work)
force-pushed
the
thomcc/exe-clean
branch
from
October 14, 2026 16:28
12463f2 to
4c616aa
Compare
…(still-running) workflows
Thom Chiovoloni (thomcc-work)
force-pushed
the
thomcc/exe-clean
branch
from
October 14, 2026 17:34
4c616aa to
b91feb6
Compare
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The unreleased provider dependency and deletion of active-workflow history require human review and upgrade/replay validation before landing.
1 open finding
What changed in this PR
Adds age-based cleanup of historical execution generations, including those belonging to active workflows, while preserving current and running executions.
Changes:
- Adds bounded pruning with deadlines and failed-page recovery.
- Makes execution-history inspection consistent during concurrent pruning.
- Updates dependencies, readiness checks, tests, and retention documentation.
| File | Description |
|---|---|
| USER_GUIDE.md | Documents pruning behavior and upgrade considerations. |
| tests/e2e/sql/89_execution_pruning.sql | Tests root, nested, and satellite workflow pruning. |
| src/worker.rs | Implements bounded pruning and regression tests. |
| src/types.rs | Updates retention documentation. |
| src/monitoring.rs | Reads execution details in one snapshot. |
| src/lib.rs | Updates readiness version and retention descriptions. |
| scripts/test-e2e-local.sh | Routes pruning tests to reconciliation configuration. |
| scripts/test-e2e-docker.sh | Skips the configuration-dependent pruning test. |
| docs/upgrade-testing.md | Documents migrations and release prerequisites. |
| Cargo.toml | Updates runtime and provider dependencies. |
| Cargo.lock | Records updated dependency resolutions. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+39
to
+41
| duroxide = "0.1.32" | ||
| # DONOTLAND: requires the timestamp and batch-pruning fixes; replace with a crates.io release. | ||
| duroxide-pg = { git = "https://github.com/microsoft/duroxide-pg", branch = "thomcc/continue_as_new_completed_at" } |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

WIP still, will update this with more description as I get further on.
Depends on microsoft/duroxide-pg#32 and https://github.com/microsoft/duroxide-pg-opt/pull/19.