BasicCache loses value ?
soul2zimate Feb 25, 2014 2:05 AMHello, I'm using infinispan-core-5.3.0.Final, I found that in some case BasicCache can't properly persist data into cache, I made a simple test as codes below to simply insert 5 key-value into cache, however, cache size in the end is 4, my output of main method execution:
Feb 25, 2014 2:39:49 PM org.infinispan.factories.GlobalComponentRegistry start
INFO: ISPN000128: Infinispan version: Infinispan 'Tactical Nuclear Penguin' 5.3.0.Final
Feb 25, 2014 2:39:50 PM org.infinispan.jmx.CacheJmxRegistration start
INFO: ISPN000031: MBeans were successfully registered to the platform MBean server.
basicCache : 4
basicCache keySet: [923, 837, 937, 950]
its simple test, but cache should contains all 5 elements I put, did I miss any configuration here?
please see README.txt in attached zip file to compile and run the codes
package org.jboss.overview;
import org.infinispan.api.BasicCache;
import org.infinispan.api.BasicCacheContainer;
import org.infinispan.configuration.cache.CacheMode;
import org.infinispan.configuration.cache.Configuration;
import org.infinispan.configuration.cache.ConfigurationBuilder;
import org.infinispan.configuration.global.GlobalConfiguration;
import org.infinispan.configuration.global.GlobalConfigurationBuilder;
import org.infinispan.eviction.EvictionStrategy;
import org.infinispan.manager.DefaultCacheManager;
public class MainCacheTest {
private static BasicCacheContainer manager;
public static BasicCacheContainer getCacheContainer() {
if (manager == null) {
GlobalConfiguration glob = new GlobalConfigurationBuilder().nonClusteredDefault().globalJmxStatistics().enable()
.jmxDomain("overview").build();
Configuration loc = new ConfigurationBuilder().clustering().cacheMode(CacheMode.LOCAL).eviction().maxEntries(100)
.strategy(EvictionStrategy.LIRS).loaders().passivation(false).build();
manager = new DefaultCacheManager(glob, loc, true);
}
return manager;
}
public static void main(String[] args) {
BasicCache<Integer, String> basicCache = getCacheContainer().getCache("CACHE_NAME");
// HashMap<Integer, String> cache = new HashMap<Integer, String>();
// add 5 key-value to each caches
basicCache.put(965, "value965");
basicCache.put(950, "value950");
basicCache.put(937, "value937");
basicCache.put(923, "value923");
basicCache.put(837, "value837");
// size should be 5, but output is 4
System.out.println("basicCache : " + basicCache.size());
System.out.println("basicCache keySet: " + basicCache.keySet());
}
}
-
cachesize.zip 2.6 MB