diff --git a/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/ExecutionState.cs b/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/ExecutionState.cs index b3149d37dc6..fd6b5ac9475 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/ExecutionState.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/ExecutionState.cs @@ -133,7 +133,7 @@ public void StartNode(OperationPlanContext context, ExecutionNode node, Cancella } RemoveFromBacklog(node.Id, NodeStateNone); - _ = node.ExecuteAsync(context, cancellationToken); + node.BeginExecute(context, cancellationToken); } public void EnqueueForCompletion(ExecutionNodeResult result) diff --git a/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/Nodes/ExecutionNode.cs b/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/Nodes/ExecutionNode.cs index 7aa864145d8..af619b2cc0f 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/Nodes/ExecutionNode.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/Nodes/ExecutionNode.cs @@ -54,7 +54,14 @@ public abstract class ExecutionNode : IOperationPlanNode, IEquatable public ReadOnlySpan OptionalDependencies => _optionalDependencies; - public async Task ExecuteAsync( +#pragma warning disable CA2012 + public void BeginExecute( + OperationPlanContext context, + CancellationToken cancellationToken = default) + => _ = ExecuteAsync(context, cancellationToken); +#pragma warning restore CA2012 + + private async ValueTask ExecuteAsync( OperationPlanContext context, CancellationToken cancellationToken = default) {