Re: IgniteOutOfMemoryException when using putAll instead of put

2018-01-17 Thread Alexey Popov
Hi Larry, I checked the code. The issue is specific to your test data. You have relatively large initial entries (4.7 Kbytes) with the same index length (it is a just String). Please note that the index can't fit into the single page (4K). The rest of entries during .get() (from Store) are relati

Re: IgniteOutOfMemoryException when using putAll instead of put

2018-01-16 Thread Larry Mark
no problem, this is not a short term blocker, it is just something I need to understand better to make sure that I do not configure things in a way to get unexpected OOM in production. On Mon, Jan 15, 2018 at 1:18 PM, Alexey Popov wrote: > Hi Larry, > > I am without my PC for a while. I will ch

Re: IgniteOutOfMemoryException when using putAll instead of put

2018-01-15 Thread Alexey Popov
Hi Larry, I am without my PC for a while. I will check the file you attached later this week. Thanks, Alexey -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: IgniteOutOfMemoryException when using putAll instead of put

2018-01-12 Thread Larry Mark
Alexey, The runtime class is used so I can have a common method to create any cache type and index the key and value types of the cache. To simplify things, attached is a tar file that is a small program that throws an OOM exception for me. I get the OOM when loading from the cache store on miss

Re: IgniteOutOfMemoryException when using putAll instead of put

2018-01-12 Thread Alexey Popov
Hi, You are right, "evicts=0" is related to cache evictions for on-heap caching [1]. It should be always 0 for you. I tried your case (with the same configs as you) and page evictions work fine with cache store enabled and indexed types. It seems that you have some misconfiguration. What are yo

Re: IgniteOutOfMemoryException when using putAll instead of put

2018-01-11 Thread Larry Mark
Here are the configurations DataRegionConfiguration = (new DataRegionConfiguration) .setName("RefData") .setInitialSize(21 * 1024 * 1024) .setMaxSize(21 * 1024 * 1024) .setPersistenceEnabled(false) .setPageEvictionMode(DataPageEvictionMode.RANDOM_LRU) .setMe

Re: IgniteOutOfMemoryException when using putAll instead of put

2018-01-11 Thread Alexey Popov
Hi, Can you share your configuration for 1) cache 2) memory region? I see "evicts=0" in your stats that looks very strange. Are you sure you have a configured eviction policy in the data region (policyName=RefData)? Does this cache work fine (evicts some data) without Cache Store enabled? Thank

Re: IgniteOutOfMemoryException when using putAll instead of put

2018-01-10 Thread Larry Mark
Thanks for the quick response. I have observed similar behavior with 3rd party persistence read through IF I set indexed types for the cache. Test case - Load up the cache using put with 35,000 entries ( keys 1 -> 35,000). Read every key using Get(key) This is the use case that I want to use in

Re: IgniteOutOfMemoryException when using putAll instead of put

2018-01-10 Thread Alexey Popov
Hi, You are right, cache.putAll() can't evict the entries from the batch it is working on, and you can get Ignite OOME. This is expected behavior because putAll get locks for all provided entry keys. That is critical: 1) for transactional caches and 2) any caches backed up by 3-rd party persisten

IgniteOutOfMemoryException when using putAll instead of put

2018-01-09 Thread lmark58
For testing I created a data region of 21 MB DataRegionConfiguration = (new DataRegionConfiguration) .setName("testRegion") .setInitialSize(21 * 1024 * 1024) .setMaxSize(21 * 1024 * 1024) .setPersistenceEnabled(false) .setPageEvictionMode(DataPageEvictionMode.RA