Pavel Konstantinov created IGNITE-5878:
------------------------------------------

             Summary: Add memory policy name into IgniteOOM exception
                 Key: IGNITE-5878
                 URL: https://issues.apache.org/jira/browse/IGNITE-5878
             Project: Ignite
          Issue Type: Wish
            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)

Reply via email to