Repository navigation
[Fusion] Fix an unconditional nested defer being dropped when its enclosing conditional defer is disabled - #45
Open
michaelstaib wants to merge 1 commit into
Conversation
michaelstaib
force-pushed
the
mst/fusion-executor-eviction-time-provider
branch
from
October 9, 2026 04:57
36dd798 to
970a0a7
Compare
michaelstaib
force-pushed
the
mst/fusion-nested-defer-delivery
branch
from
October 9, 2026 04:57
bd475d4 to
6f8c636
Compare
michaelstaib
force-pushed
the
mst/fusion-executor-eviction-time-provider
branch
from
October 9, 2026 04:59
970a0a7 to
eff3433
Compare
michaelstaib
force-pushed
the
mst/fusion-nested-defer-delivery
branch
from
October 9, 2026 04:59
6f8c636 to
8d4621c
Compare
…losing conditional defer is disabled
michaelstaib
force-pushed
the
mst/fusion-executor-eviction-time-provider
branch
from
October 12, 2026 21:25
eff3433 to
a3ff567
Compare
michaelstaib
force-pushed
the
mst/fusion-nested-defer-delivery
branch
from
October 12, 2026 21:25
8d4621c to
b38f2bf
Compare
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.
Ticket: hc-fork-2-sq8
Stacked on the TimeProvider PR. This PR's diff is against
mst/fusion-executor-eviction-time-provider.Fix: an unconditional
@defernested inside@defer(if: $d)was never delivered whendis false. When the outer defer is disabled, its selection set is inlined, but the inner deferred fragment must still arrive as its own incremental payload.The defect was reproduced without authorization first. An incremental plan now runs when one of its delivery groups is active and the plan that owns its nearest active enclosing delivery group also runs. Previously it required its direct parent plan to run. The single activation rule shared by the executor and the evaluator is kept.
Verified at the top of this four-PR stack (0755da7, on #40):
dotnet build src/All.slnx0 errors; on net10, Fusion.Execution.Tests 1418 passed and 2 skipped, Fusion.AspNetCore.Tests 637 passed and 48 skipped, Fusion.Diagnostics.Tests 65 passed and 3 skipped, Fusion.Composition.Tests 915 passed. Other target frameworks were built but not tested.Related defect, not fixed here and ticketed as hc-fork-2-d62: a conditional
@defer(if: $d)nested inside another enabled@deferloses its fields whendis false.