I've been having a sporadic issue with the Ignite 2.7.5 JVM halting due to
out of memory error related to a cache with persistence enabled

I just upgraded to the C#.Net, Ignite 2.7.6 client to pick up support for
C# affinity functions and now have this issue appearing regularly while
adding around 400Mb of data into the cache which is configured to have
128Mb of memory (this was 64Mb but I increased it to see if the failure
would resolve.

The error I get is:

2020-03-05 11:58:57,568 [542] ERR [MutableCacheComputeServer] JVM will be
halted immediately due to the failure: [failureCtx=FailureContext
[type=CRITICAL_ERROR, err=class o.a.i.i.mem.IgniteOutOfMemoryException:
Failed to find a page for eviction [segmentCapacity=1700, loaded=676,
maxDirtyPages=507, dirtyPages=675, cpPages=0, pinnedInSegment=2,
failedToPrepare=675]
Out of memory in data region [name=TAGFileBufferQueue, initSize=128.0 MiB,
maxSize=128.0 MiB, persistenceEnabled=true] Try the following:
  ^-- Increase maximum off-heap memory size
(DataRegionConfiguration.maxSize)
  ^-- Enable Ignite persistence (DataRegionConfiguration.persistenceEnabled)
  ^-- Enable eviction or expiration policies]]

I'm not running an eviction policy as I thought this was not required for
caches with persistence enabled.

I'm surprised by this behaviour as I expected the persistence mechanism to
handle it. The error relating to failure to find a page for eviction
suggest the persistence mechanism has fallen behind. If this is the case,
this seems like an unfriendly failure mode.

Thanks,
Raymond.

Reply via email to