Skip to content

fix: keep pipeline snapshots reusable after resume - #13076

Draft
Afloat16 wants to merge 1 commit into
deepset-ai:mainfrom
Afloat16:fix/pipeline-snapshot-replay
Draft

Afloat16 wants to merge 1 commit into
deepset-ai:mainfrom
Afloat16:fix/pipeline-snapshot-replay

Conversation

@Afloat16

@Afloat16 Afloat16 commented Oct 2, 2026

Copy link
Copy Markdown

Proposed Changes

Resuming an in-memory PipelineSnapshot currently uses its saved visit-count dictionary as the live execution counter. A completed or partially failed resume therefore rewrites the original checkpoint. Reusing it can incorrectly raise PipelineMaxComponentRuns.

Copy the integer visit counters when resuming. Add regressions for repeated replay, retry after a downstream failure, and stepping through breakpoints without changing an earlier snapshot. Include a release note and recovery-guide clarification.

How did you test it?

On Linux with Python 3.12, using the repository's Hatch environments:

  • Breakpoint regression suite: 3 failed / 39 passed on the unchanged implementation; 42 passed with this fix.
  • hatch run test:unit test/core/pipeline test/dataclasses/test_breakpoints.py -q: 447 passed, 155 integration cases deselected.
  • hatch run test:types: no issues in 551 source files.
  • hatch run fmt on changed Python files, pre-commit hooks on all changed files, and git diff --check: passed.

Notes for the reviewer

The saved counters contain integers, so a shallow dictionary copy isolates resumed execution without copying component resources. Other unit modules and live integration tests were not run locally.

This PR was fully generated with an AI assistant. The change was reviewed and the validation above was run locally.

Checklist

  • Contributor guidelines and Code of Conduct reviewed
  • Related issue updated (no related issue)
  • Unit regressions and relevant documentation updated
  • Conventional commit title
  • Release note included
  • Pre-commit hooks run successfully

@vercel

vercel Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

@Afloat16 is attempting to deploy a commit to the deepset Team on Vercel.

A member of the Team first needs to authorize it.

@CLAassistant

CLAassistant commented Oct 2, 2026 •

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants