You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2017/09/26 12:29:00 UTC

[jira] [Updated] (IGNITE-5878) Add memory policy name into IgniteOOM exception

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

Vladimir Ozerov updated IGNITE-5878:
------------------------------------
    Fix Version/s:     (was: 2.3)

> Add memory policy name into IgniteOOM exception
> -----------------------------------------------
>
>                 Key: IGNITE-5878
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5878
>             Project: Ignite
>          Issue Type: Wish
>    Affects Versions: 2.1
>            Reporter: Pavel Konstantinov
>            Priority: Minor
>
> I got OOM exception but I was not able to understand what policy exactly I need to tune
> It will be more informative to add memory policy name into exception text
> {code}
> [14:25:23,127][SEVERE][db-checkpoint-thread-#41%tester%][GridCacheDatabaseSharedManager] Runtime error caught during grid runnable execution: GridWorker [name=db-checkpoint-thread, igniteInstanceName=tester, finished=false, hashCode=392861026, interrupted=false, runner=db-checkpoint-thread-#41%tester%]
> class org.apache.ignite.internal.mem.IgniteOutOfMemoryException: Failed to find a page for eviction [segmentCapacity=1580, loaded=622, maxDirtyPages=415, dirtyPages=622, cpPages=0, pinnedInSegment=0, failedToPrepare=623]
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl$Segment.tryToFindSequentially(PageMemoryImpl.java:1883)
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl$Segment.evictPage(PageMemoryImpl.java:1807)
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl$Segment.access$600(PageMemoryImpl.java:1540)
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.acquirePage(PageMemoryImpl.java:540)
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.acquirePage(PageMemoryImpl.java:487)
> 	at org.gridgain.grid.internal.processors.cache.database.GridCacheSnapshotManager.onChangeTrackerPage(GridCacheSnapshotManager.java:1499)
> 	at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$7.applyx(GridCacheDatabaseSharedManager.java:648)
> 	at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$7.applyx(GridCacheDatabaseSharedManager.java:642)
> 	at org.apache.ignite.internal.util.lang.GridInClosure3X.apply(GridInClosure3X.java:34)
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.writeUnlockPage(PageMemoryImpl.java:1197)
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.writeUnlock(PageMemoryImpl.java:380)
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.writeUnlock(PageMemoryImpl.java:374)
> 	at org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.writeUnlock(PageHandler.java:377)
> 	at org.apache.ignite.internal.processors.cache.persistence.DataStructure.writeUnlock(DataStructure.java:197)
> 	at org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.releaseAndClose(PagesList.java:362)
> 	at org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.saveMetadata(PagesList.java:320)
> 	at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager.saveStoreMetadata(GridCacheOffheapManager.java:178)
> 	at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager.onCheckpointBegin(GridCacheOffheapManager.java:159)
> 	at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.markCheckpointBegin(GridCacheDatabaseSharedManager.java:2134)
> 	at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.doCheckpoint(GridCacheDatabaseSharedManager.java:1917)
> 	at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.body(GridCacheDatabaseSharedManager.java:1842)
> 	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> 	at java.lang.Thread.run(Thread.java:745)
> [14:25:24,964][WARNING][visor-tester-populate-cache-task-0][]  Populating cache: c_partitioned
> [14:25:24,994][WARNING][visor-tester-populate-cache-task-0][DataStreamerImpl] Data streamer will not overwrite existing cache entries for better performance (to change, set allowOverwrite to true)
> [14:25:37,966][WARNING][visor-tester-cache-query-load-task-0][]  Query execution (Query): c_partitioned
> [14:25:37,990][SEVERE][visor-tester-cache-query-load-task-1][] Query execution task error
> class org.apache.ignite.IgniteException: Runtime failure on bounds: [lower=null, upper=null]
> 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:965)
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cursor(IgniteCacheOffheapManagerImpl.java:1515)
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cursor(IgniteCacheOffheapManagerImpl.java:1495)
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cursor(IgniteCacheOffheapManagerImpl.java:1489)
> 	at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.cursor(GridCacheOffheapManager.java:1301)
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$6.onHasNext(IgniteCacheOffheapManagerImpl.java:650)
> 	at org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
> 	at org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
> 	at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$PeekValueExpiryAwareIterator.advance(GridCacheQueryManager.java:2954)
> 	at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$PeekValueExpiryAwareIterator.onHasNext(GridCacheQueryManager.java:2922)
> 	at org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
> 	at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$9.onHasNext(GridCacheQueryManager.java:1509)
> 	at org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
> 	at org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$5.onHasNext(GridCacheDistributedQueryManager.java:632)
> 	at org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
> 	at org.apache.ignite.internal.processors.cache.CacheWeakQueryIteratorsHolder$WeakQueryCloseableIterator.onHasNext(CacheWeakQueryIteratorsHolder.java:308)
> 	at org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53)
> 	at org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
> 	at scala.collection.convert.Wrappers$JIteratorWrapper.hasNext(Wrappers.scala:42)
> 	at scala.collection.Iterator$class.find(Iterator.scala:793)
> 	at scala.collection.AbstractIterator.find(Iterator.scala:1194)
> 	at scala.collection.IterableLike$class.find(IterableLike.scala:79)
> 	at scala.collection.AbstractIterable.find(Iterable.scala:54)
> 	at org.gridgain.visor.tester.VisorTesterLauncher$.org$gridgain$visor$tester$VisorTesterLauncher$$cacheQueryModificationLoad(VisorTesterLauncher.scala:870)
> 	at org.gridgain.visor.tester.VisorTesterLauncher$$anonfun$cacheQueryLoad$3$$anon$5.run(VisorTesterLauncher.scala:1044)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> 	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: class org.apache.ignite.internal.mem.IgniteOutOfMemoryException: Failed to find a page for eviction [segmentCapacity=1580, loaded=622, maxDirtyPages=415, dirtyPages=622, cpPages=0, pinnedInSegment=0, failedToPrepare=623]
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl$Segment.tryToFindSequentially(PageMemoryImpl.java:1883)
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl$Segment.evictPage(PageMemoryImpl.java:1807)
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl$Segment.access$600(PageMemoryImpl.java:1540)
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.acquirePage(PageMemoryImpl.java:540)
> 	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.acquirePage(PageMemoryImpl.java:487)
> 	at org.apache.ignite.internal.processors.cache.persistence.DataStructure.acquirePage(DataStructure.java:129)
> 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findLowerUnbounded(BPlusTree.java:896)
> 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:953)
> 	... 31 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)