Hi everyone, I'm having issues getting the off-heap eviction to work. The nodes in my cluster are failing due to OutOfMemory errors. I'm currently trying to get it to work like this:
IgniteConfuration igniteConfiguration = new IgniteConfiguration(); DataStorageConfiguration dataStorageConfig = new DataStorageConfiguration(); DataRegionConfiguration dataRegionConfig = new DataRegionConfiguration(); dataRegionConfig.setInitialSize((long) Math.ceil(0.2 * offHeapMemoryMax)); // 20% of 256MB dataRegionConfig.setMaxSize(offHeapMemoryMax); // 256MB, for testing purposes dataRegionConfig.setPageEvictionMode(DataPageEvictionMode.RANDOM_2_LRU); dataRegionConfig.setEvictionThreshold(0.9); dataRegionConfig.setName("OffHeapRegion"); // tried both default data region, and setting a data region list, but neither dataStorageConfig.setDefaultDataRegionConfiguration(dataRegionConfig); igniteConfiguration.setDataStorageConfiguration(dataStorageConfig); CacheConfiguration cacheConfiguration = new CacheConfiguration(); cacheConfiguration.setName("myCache"); cacheConfiguration.setCacheMode(CacheMode.PARTITIONED); cacheConfiguration.setDataRegionName("OffHeapRegion"); cacheConfiguration.setBackups(1); igniteConfiguration.setCacheConfiguration(cacheConfiguration); Ignite.start(igniteConfiguration); ignite.getOrCreateCache("myCache"); I can use the cache from my application, but once the current off-heap size is reached, I see this in the logs: ERROR [2018-06-15 09:37:16,095] org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache: <metadata> Unexpected exception during cache update ! org.apache.ignite.internal.mem.IgniteOutOfMemoryException: Not enough memory allocated (consider increasing data region size or enabling evictions) [policyName=OffHeapRegion, size=262.1 MB] ! at org.apache.ignite.internal.pagemem.impl.PageMemoryNoStoreImpl.allocatePage(PageMemoryNoStoreImpl.java:292) ! at org.apache.ignite.internal.processors.cache.persistence.freelist.FreeListImpl.allocateDataPage(FreeListImpl.java:456) ! at org.apache.ignite.internal.processors.cache.persistence.freelist.FreeListImpl.insertDataRow(FreeListImpl.java:494) ! at org.apache.ignite.internal.processors.cache.persistence.RowStore.addRow(RowStore.java:90) ! at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.createRow(IgniteCacheOffheapManagerImpl.java:1255) ! at org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.update(GridCacheMapEntry.java:4408) ! at org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:4204) ! at org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:3918) ! at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.invokeClosure(BPlusTree.java:2988) ! at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.access$6200(BPlusTree.java:2882) ! at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:1713) ! at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1602) ! ... 82 common frames omitted The log mentions eviction being off and when checking the cache configs with visorcmd, it says that eviction policy is off too. What am I doing wrong here? Thanks, Jose Rizzatti