Repository navigation
fix(langgraph): unwrap an Overwrite first write on an empty BinaryOperatorAggregate channel - #9018
Closed
哈基米 (BlueX888) wants to merge 1 commit into
Closed
哈基米 (BlueX888) wants to merge 1 commit into
哈基米 (BlueX888) wants to merge 1 commit into
Conversation
…ratorAggregate channel
Contributor
|
This PR has been automatically closed because you are not assigned to the linked issue. External contributors must be assigned to an issue before opening a PR for it. Please:
Maintainers: reopen this PR or remove the |
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.
Fixes #9017
BinaryOperatorAggregate.updatenow runs the first write through_get_overwritewhen the channel is empty, so anOverwritefirst write stores its payload instead of the wrapper — matching the already-seeded behavior of the same method andDeltaChannel.update. The seededseen_overwriteflag also means a secondOverwritein the same update still raises, and plain values after a leadingOverwriteare skipped exactly as they are on a seeded channel.Verified with three new unit tests in
tests/test_channels.py(first-write unwrap, later plain values skipped, two overwrites raise), plus the fullpytest tests/suite passing except the redis/remote cases that also fail onmainin this environment without those services.