From b92c94fcb03a9e3f0a04fd25056569242fbeb068 Mon Sep 17 00:00:00 2001 From: Anton Prokopev Date: Fri, 16 Jul 2021 19:49:15 +0300 Subject: [PATCH] Add synchronized to loaderQueue inside completable future --- src/main/java/org/dataloader/DataLoaderHelper.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/dataloader/DataLoaderHelper.java b/src/main/java/org/dataloader/DataLoaderHelper.java index fab4f9b..8f8f08f 100644 --- a/src/main/java/org/dataloader/DataLoaderHelper.java +++ b/src/main/java/org/dataloader/DataLoaderHelper.java @@ -311,8 +311,10 @@ private CompletableFuture loadFromCache(K key, Object loadContext, boolean ba if (getCallEx == null) { future.complete(cachedValue); } else { - queueOrInvokeLoader(key, loadContext, batchingEnabled) - .whenComplete(setValueIntoCacheAndCompleteFuture(cacheKey, future)); + synchronized (dataLoader) { + queueOrInvokeLoader(key, loadContext, batchingEnabled) + .whenComplete(setValueIntoCacheAndCompleteFuture(cacheKey, future)); + } } });