[ https://issues.apache.org/jira/browse/IGNITE-12425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ilya Kasnacheev updated IGNITE-12425: ------------------------------------- Attachment: ignite-dataload-deadlock.zip > 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 > Priority: Critical > 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)