From 2e25aa8f47da1f3257e184658d14b6e42e7de2d3 Mon Sep 17 00:00:00 2001 From: Samuel Vazquez Date: Tue, 29 Apr 2025 14:22:37 -0700 Subject: [PATCH] avoid wrapping materialized fieldValueObject in a completable future --- src/main/java/graphql/execution/ExecutionStrategy.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/graphql/execution/ExecutionStrategy.java b/src/main/java/graphql/execution/ExecutionStrategy.java index f9370d1e91..ea6b77b83c 100644 --- a/src/main/java/graphql/execution/ExecutionStrategy.java +++ b/src/main/java/graphql/execution/ExecutionStrategy.java @@ -635,10 +635,13 @@ private FieldValueInfo completeField(GraphQLFieldDefinition fieldDef, ExecutionC ); FieldValueInfo fieldValueInfo = completeValue(executionContext, newParameters); - - CompletableFuture executionResultFuture = fieldValueInfo.getFieldValueFuture(); ctxCompleteField.onDispatched(); - executionResultFuture.whenComplete(ctxCompleteField::onCompleted); + if (fieldValueInfo.isFutureValue()) { + CompletableFuture executionResultFuture = fieldValueInfo.getFieldValueFuture(); + executionResultFuture.whenComplete(ctxCompleteField::onCompleted); + } else { + ctxCompleteField.onCompleted(fieldValueInfo.getFieldValueObject(), null); + } return fieldValueInfo; }