Ilya Kasnacheev created IGNITE-12425: ----------------------------------------
Summary: Deadlock on CacheStore.loadAll Key: IGNITE-12425 URL: https://issues.apache.org/jira/browse/IGNITE-12425 Project: Ignite Issue Type: Bug Components: cache Affects Versions: 2.7.6 Reporter: Ilya Kasnacheev Attachments: ignite-dataload-deadlock.zip Yes, we do have a deadlock in CacheStore.loadAll, as demonstrated by this reproducer. The obvious embarassing fix is to replace HashMap with TreeMap, which will of course not work if keys are not compabable {code} diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java index 3156d6d662d..3947800a908 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java @@ -34,6 +34,7 @@ import java.util.List; import java.util.Map; import java.util.NoSuchElementException; import java.util.Set; +import java.util.TreeMap; import java.util.UUID; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; @@ -2054,7 +2055,7 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V if (res.value() == null) { if (misses == null) - misses = new HashMap<>(); + misses = new TreeMap<>(); misses.put(key, res); {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)