@@ -362,8 +362,8 @@ public void fieldFetched(ExecutionContext executionContext,
362362 Supplier <DataFetchingEnvironment > dataFetchingEnvironment ) {
363363 CallStack callStack = getCallStack (executionStrategyParameters );
364364 int level = executionStrategyParameters .getPath ().getLevel ();
365- AlternativeCallContext deferredCallContext = executionStrategyParameters .getDeferredCallContext ();
366- if (level == 1 || (deferredCallContext != null && level == deferredCallContext .getStartLevel ())) {
365+ AlternativeCallContext alternativeCallContext = executionStrategyParameters .getAlternativeCallContext ();
366+ if (level == 1 || (alternativeCallContext != null && level == alternativeCallContext .getStartLevel ())) {
367367 int happenedFirstLevelFetchCount = callStack .happenedFirstLevelFetchCount .incrementAndGet ();
368368 if (happenedFirstLevelFetchCount == callStack .expectedFirstLevelFetchCount ) {
369369 callStack .dispatchedLevels .add (level );
@@ -395,20 +395,25 @@ public void subscriptionEventCompletionDone(AlternativeCallContext alternativeCa
395395 onCompletionFinished (0 , callStack );
396396 }
397397
398+ @ Override
399+ public void subscriptionEventExecutionDone (AlternativeCallContext alternativeCallContext ) {
400+ alternativeCallContextMap .remove (alternativeCallContext );
401+ }
402+
398403 @ Override
399404 public void deferredOnFieldValue (String resultKey , FieldValueInfo fieldValueInfo , Throwable throwable , ExecutionStrategyParameters parameters ) {
400405 CallStack callStack = getCallStack (parameters );
401406 int deferredFragmentRootFieldsCompleted = callStack .deferredFragmentRootFieldsCompleted .incrementAndGet ();
402- Assert .assertNotNull (parameters .getDeferredCallContext ());
403- if (deferredFragmentRootFieldsCompleted == parameters .getDeferredCallContext ().getFields ()) {
404- onCompletionFinished (parameters .getDeferredCallContext ().getStartLevel () - 1 , callStack );
407+ Assert .assertNotNull (parameters .getAlternativeCallContext ());
408+ if (deferredFragmentRootFieldsCompleted == parameters .getAlternativeCallContext ().getFields ()) {
409+ onCompletionFinished (parameters .getAlternativeCallContext ().getStartLevel () - 1 , callStack );
405410 }
406411
407412 }
408413
409414
410415 private CallStack getCallStack (ExecutionStrategyParameters parameters ) {
411- return getCallStack (parameters .getDeferredCallContext ());
416+ return getCallStack (parameters .getAlternativeCallContext ());
412417 }
413418
414419 private CallStack getCallStack (@ Nullable AlternativeCallContext alternativeCallContext ) {
@@ -520,4 +525,3 @@ public void newDataLoaderInvocation(int level,
520525
521526
522527}
523-
0 commit comments