Check your configuration. This code works perfectly well for me. If set page
eviction mode to disabled - IOOME will be thrown:
IgniteConfiguration igniteConfiguration = new IgniteConfiguration();
DataStorageConfiguration dataStorageConfig = new
DataStorageConfiguration();
long offHeapMemoryMax = 256 * 1024 * 1024;
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.setDataRegionConfigurations(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 ignite = Ignition.start(igniteConfiguration);
IgniteCache<Object, Object> cache =
ignite.getOrCreateCache("myCache");
for (long i = Long.MIN_VALUE; i < Long.MAX_VALUE; i++)
cache.put(i, new byte[1800]);
Thanks!
-Dmitry
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/