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/