Hello,
I found this url defer node execution
I’m working with the LangGraph framework and have encountered some behavior with parallel branches that I wanted to clarify. When using branching in the state graph (for example, in a map-reduce or fan-out/fan-in scenario), I noticed that the state updates from parallel branches are merged together before being passed to downstream nodes. This means that a node in one branch can see updates made by nodes in other, parallel branches, even if they haven’t finished their own execution path.
For example, if I have branches B and C, and a node b_2 follows b, the state that b_2 receives already contains updates from C. This is not the isolation I expected; I thought each branch would maintain its own state until a join or merge point.
My questions:
- What is the reasoning behind merging state from all branches at each step, rather than keeping branch-specific state until an explicit join?
- Is there a recommended pattern for achieving true branch state isolation within LangGraph?
- Are there plans to support this kind of state isolation natively, or is the shared-state model fundamental to LangGraph’s design?
Thank you for your time and for the great work on this project!