[ 
https://issues.apache.org/jira/browse/IGNITE-7442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Gura updated IGNITE-7442:
--------------------------------
    Fix Version/s:     (was: 2.5)
                   2.6

> 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
>            Priority: Major
>             Fix For: 2.6
>
>
> 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)

Reply via email to