Skip to content

fix: stop nested splits at parent merge joins#456

Open
hjotha wants to merge 1 commit intomendixlabs:mainfrom
hjotha:submit/nested-split-parent-merge-join
Open

fix: stop nested splits at parent merge joins#456
hjotha wants to merge 1 commit intomendixlabs:mainfrom
hjotha:submit/nested-split-parent-merge-join

Conversation

@hjotha
Copy link
Copy Markdown
Contributor

@hjotha hjotha commented Apr 30, 2026

Closes #455.

Summary

  • resolves nested split joins against the active parent merge when the computed nested join is downstream
  • prevents the empty-then swap from running against an over-wide nested join
  • adds synthetic coverage for downstream parent-merge joins and independent local nested joins

Validation

  • make build
  • make test

Symptom: describe could treat a nested split's downstream common tail as the nested merge while the parent branch was supposed to stop at an earlier merge. The emitted MDL moved shared continuation into an else branch, which could leave return-valued microflows with a path lacking a return.

Root cause: nested traversal trusted the precomputed split merge even when that join was reachable only after the parent merge. The empty-then swap also ran against that over-wide join.

Fix: resolve nested split merges against the parent merge when the computed join is downstream, and only apply the empty-then swap when the resolved nested merge is the active parent merge.

Tests: added synthetic regression coverage for downstream-vs-local nested merge resolution and ran make build && make test.
@ako ako added this to the v0.8.0 milestone Apr 30, 2026
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.

Nested split describe can consume parent continuation as a local join

3 participants