Mikhail Cherkasov created IGNITE-7442: -----------------------------------------
Summary: Data load hangs with SQL on-heap cache enabled Key: IGNITE-7442 URL: https://issues.apache.org/jira/browse/IGNITE-7442 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.4 Reporter: Mikhail Cherkasov Assignee: Vladimir Ozerov Fix For: 2.5 The user uses putAll to load data into a cache, it loads data to Atomic cache and all keys have unique values, so there can not be a deadlock due to key order, but to be 200% sure about this, the user also uses TreeMap. In logs I can see 68 messages about pool starvation for the same thread: at o.a.i.i.processors.query.h2.database.H2Tree.compare(H2Tree.java:206) at o.a.i.i.processors.query.h2.database.H2Tree.compare(H2Tree.java:44) at o.a.i.i.processors.cache.persistence.tree.BPlusTree.compare(BPlusTree.java:4359) at o.a.i.i.processors.cache.persistence.tree.BPlusTree.findInsertionPoint(BPlusTree.java:4279) at o.a.i.i.processors.cache.persistence.tree.BPlusTree.access$1500(BPlusTree.java:81) at o.a.i.i.processors.cache.persistence.tree.BPlusTree$Search.run0(BPlusTree.java:261) at o.a.i.i.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:4697) at o.a.i.i.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:4682) at o.a.i.i.processors.cache.persistence.tree.util.PageHandler.readPage(PageHandler.java:158) at o.a.i.i.processors.cache.persistence.DataStructure.read(DataStructure.java:319) at o.a.i.i.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2254) at o.a.i.i.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2266) at o.a.i.i.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2006) at o.a.i.i.processors.cache.persistence.tree.BPlusTree.put(BPlusTree.java:1977) at o.a.i.i.processors.query.h2.database.H2TreeIndex.put(H2TreeIndex.java:220) at o.a.i.i.processors.query.h2.opt.GridH2Table.addToIndex(GridH2Table.java:568) at o.a.i.i.processors.query.h2.opt.GridH2Table.doUpdate(GridH2Table.java:516) at o.a.i.i.processors.query.h2.opt.GridH2Table.update(GridH2Table.java:425) at o.a.i.i.processors.query.h2.IgniteH2Indexing.store(IgniteH2Indexing.java:566) at o.a.i.i.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:1731) at o.a.i.i.processors.cache.query.GridCacheQueryManager.store(GridCacheQueryManager.java:418) at o.a.i.i.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishUpdate(IgniteCacheOffheapManagerImpl.java:1363) at o.a.i.i.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1218) at o.a.i.i.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:352) at o.a.i.i.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:1693) at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processDhtAtomicUpdateRequest(GridDhtAtomicCache.java:3222) A completed number always is the same: Completed: 1826527 and furthermore, thread always has a runnable state. So it's in a runnable state for 30 minutes. So looks like it was looping somewhere inside: o.a.i.i.processors.cache.persistence.tree.BPlusTree.putDown method. The issue can be reproduced only with SQL on heap cache enabled. -- This message was sent by Atlassian JIRA (v7.6.3#76005)