Hi Evgenii,

I am individually Put()ing the elements using PutIfAbsent(). Each element
can range 2kb-35Kb in size.

Actually, the process that writes the data does not write the data directly
to the cache, it uses a compute function to send the payload to the process
that is doing the reading. The compute function applies validation logic
and uses PutIfAbsent() to write the data into the cache.

Sorry for the confusion.

Raymond.


On Thu, Mar 5, 2020 at 1:09 PM Evgenii Zhuravlev <e.zhuravlev...@gmail.com>
wrote:

> Hi,
>
> How are you loading the data? Do you use putAll or DataStreamer?
>
> Evgenii
>
> ср, 4 мар. 2020 г. в 15:37, Raymond Wilson <raymond_wil...@trimble.com>:
>
>> To add some further detail:
>>
>> There are two processes interacting with the cache. One process is writing
>> data into the cache, while the second process is extracting data from the
>> cache using a continuous query. The process that is the reader of the data
>> is throwing the exception.
>>
>> Increasing the cache size further to 256 Mb resolves the problem for this
>> data set, however we have data sets more than 100 times this size which we
>> will be processing.
>>
>> Thanks,
>> Raymond.
>>
>>
>> On Thu, Mar 5, 2020 at 12:10 PM Raymond Wilson <
>> raymond_wil...@trimble.com>
>> wrote:
>>
>> > 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