From b6c58bfe50f5a23cd9c2b8586e8b4a14167c41c9 Mon Sep 17 00:00:00 2001 From: Andreas Marek Date: Thu, 5 Jun 2025 12:16:39 +1000 Subject: [PATCH] a bit more efficient load in case the strategy doesn't fit --- src/main/java/graphql/schema/DataLoaderWithContext.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/graphql/schema/DataLoaderWithContext.java b/src/main/java/graphql/schema/DataLoaderWithContext.java index 0c6ae9e1d7..972a53d27b 100644 --- a/src/main/java/graphql/schema/DataLoaderWithContext.java +++ b/src/main/java/graphql/schema/DataLoaderWithContext.java @@ -29,11 +29,11 @@ public CompletableFuture load(@NonNull K key, @Nullable Object keyContext) { // later than the dispatch, which results in a hanging DL CompletableFuture result = super.load(key, keyContext); DataFetchingEnvironmentImpl dfeImpl = (DataFetchingEnvironmentImpl) dfe; - int level = dfe.getExecutionStepInfo().getPath().getLevel(); - String path = dfe.getExecutionStepInfo().getPath().toString(); DataFetchingEnvironmentImpl.DFEInternalState dfeInternalState = (DataFetchingEnvironmentImpl.DFEInternalState) dfeImpl.toInternal(); if (dfeInternalState.getDataLoaderDispatchStrategy() instanceof PerLevelDataLoaderDispatchStrategy) { DeferredCallContext deferredCallContext = dfeInternalState.getDeferredCallContext(); + int level = dfe.getExecutionStepInfo().getPath().getLevel(); + String path = dfe.getExecutionStepInfo().getPath().toString(); ((PerLevelDataLoaderDispatchStrategy) dfeInternalState.dataLoaderDispatchStrategy).newDataLoaderLoadCall(path, level, delegate, dataLoaderName, key, deferredCallContext); } return result;