Skip to content

fix(langgraph): snapshot DeltaChannel overwrite supersteps#8125

Open
Sydney Runkle (sydney-runkle) wants to merge 2 commits into
mainfrom
fix-delta-overwrite-snapshot
Open

fix(langgraph): snapshot DeltaChannel overwrite supersteps#8125
Sydney Runkle (sydney-runkle) wants to merge 2 commits into
mainfrom
fix-delta-overwrite-snapshot

Conversation

@sydney-runkle

Copy link
Copy Markdown
Collaborator

When a DeltaChannel receives an Overwrite, force that checkpoint to store a snapshot so sparse replay starts from the post-overwrite value. This also aligns live DeltaChannel overwrite handling with BinaryOperatorAggregate by letting Overwrite bypass other reducer writes in the same superstep.

@sydney-runkle Sydney Runkle (sydney-runkle) changed the title Snapshot DeltaChannel overwrite supersteps fix: snapshot DeltaChannel overwrite supersteps Jun 17, 2026
@sydney-runkle Sydney Runkle (sydney-runkle) changed the title fix: snapshot DeltaChannel overwrite supersteps fix(langgraph): snapshot DeltaChannel overwrite supersteps Jun 17, 2026

@open-swe open-swe Bot 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.

✅ Open SWE Review: No issues found

Open SWE reviewed this PR and found no potential bugs to report.

Open in WebView Open SWE trace

for k in channels_to_snapshot:
new_counters[k] = (0, 0)
if do_checkpoint:
self._delta_channels_with_overwrite.difference_update(channels_to_snapshot)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I believe it's the same if we just clear it to empty set?
self._delta_channels_with_overwrite = set()?

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.

2 participants