Skip to content

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
mainfrom
thomcc/exe-clean
Draft

Thom Chiovoloni (thomcc-work) wants to merge 2 commits into
mainfrom
thomcc/exe-clean

Conversation

@thomcc-work

Copy link
Copy Markdown
Contributor

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.

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.

🔵 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 thread Cargo.toml
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

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants