[infinispan-issues] [JBoss JIRA] (ISPN-3152) Configuration update

Marta Sedlakova (JIRA) jira-events at lists.jboss.org
Thu May 30 04:13:54 EDT 2013


Marta Sedlakova created ISPN-3152:
-------------------------------------

             Summary: Configuration update
                 Key: ISPN-3152
                 URL: https://issues.jboss.org/browse/ISPN-3152
             Project: Infinispan
          Issue Type: Bug
          Components: Configuration
    Affects Versions: 5.2.1.Final
            Reporter: Marta Sedlakova
            Assignee: Mircea Markus


Hello,

 

I am upgrading infinispan configuration and I have following problem:

In old configuration, we use:

Configuration config;
JdbmCacheStoreConfig storeConfig = new JdbmCacheStoreConfig();
storeConfig.setLocation(location);
storeConfig.setCacheLoaderClassName("org.infinispan.loaders.jdbm.JdbmCacheStore");
storeConfig.setFetchPersistentState(true);
storeConfig.setIgnoreModifications(false);
storeConfig.setPurgeOnStartup(false);
config = lc.addCacheLoader(storeConfig).build();
       
manager = new DefaultCacheManager(new GlobalConfiguration(), config);

Configuration c = manager.getDefaultConfiguration();
c.setEvictionMaxEntries(maxEntries);
c.setExpirationLifespan(lifespan);                
manager.defineConfiguration(name, c);

And this works fine. Now I am updating to new configuration:

ConfigurationBuilder configuration = new ConfigurationBuilder();
configuration.invocationBatching().enable();
JdbmCacheStoreConfigurationBuilder builder = new JdbmCacheStoreConfigurationBuilder(configuration.loaders());
builder.location(location).fetchPersistentState(true);
configuration.loaders().addStore(builder);
manager = new DefaultCacheManager(new GlobalConfigurationBuilder().build(), configuration.build());

 
And I want to change some properties from previous default configuration for named cache:

 
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.read(manager.getDefaultCacheConfiguration());
builder.eviction().maxEntries(maxEntries));
builder.expiration().lifespan(lifespan);
manager.defineConfiguration(name, builder.build());
Cache<String, Object> cache = manager.getCache(name);
cache.start(); 

 

But I got following exception:

 

org.infinispan.CacheException: Unable to invoke method public void org.infinispan.loaders.CacheLoaderManagerImpl.start() on object of type CacheLoaderManagerImpl

    at org.infinispan.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:205)

    at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:883)

    at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:654)

    at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:643)

    at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:546)

    at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:199)

    at org.infinispan.CacheImpl.start(CacheImpl.java:559)

    at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:686)

    at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:649)

    at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:545)

    at eu.ysoft.cache.ifspn.replicator.IfspnReplicationBuffer.start(IfspnReplicationBuffer.java:117)

    at eu.ysoft.cache.replicator.ReplicatorImpl.start(ReplicatorImpl.java:373)

    at eu.ysoft.cache.replicator.ReplicatorImpl.start(ReplicatorImpl.java:233)

    at eu.ysoft.cache.ifspn.replicator.helpers.IfspnReplicationClient.start(IfspnReplicationClient.java:46)

    at eu.ysoft.cache.ifspn.replicator.functional.IfspnTestSimpleReplications.init(IfspnTestSimpleReplications.java:54)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)

    at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:525)

    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:202)

    at org.testng.internal.Invoker.invokeMethod(Invoker.java:613)

    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:842)

    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1166)

    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)

    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)

    at org.testng.TestRunner.runWorkers(TestRunner.java:1178)

    at org.testng.TestRunner.privateRun(TestRunner.java:757)

    at org.testng.TestRunner.run(TestRunner.java:608)

    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)

    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)

    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)

    at org.testng.SuiteRunner.run(SuiteRunner.java:240)

    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)

    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)

    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1158)

    at org.testng.TestNG.runSuitesLocally(TestNG.java:1083)

    at org.testng.TestNG.run(TestNG.java:999)

    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)

    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:203)

    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:174)

    at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:111)

Caused by: org.infinispan.CacheException: Unable to start cache loaders

    at org.infinispan.loaders.CacheLoaderManagerImpl.start(CacheLoaderManagerImpl.java:160)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at org.infinispan.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:203)

    ... 42 more

Caused by: java.lang.Exception: Invalid cache loader configuration!!  Only ONE cache loader may have fetchPersistentState set to true.  Cache will not start!

    at org.infinispan.loaders.CacheLoaderManagerImpl.createCacheLoader(CacheLoaderManagerImpl.java:324)

    at org.infinispan.loaders.CacheLoaderManagerImpl.start(CacheLoaderManagerImpl.java:146)

    ... 47 more

 

 

I need some help how to solve this issue, when we were using the old deprecated configuration, this configuration scenarion works.

Thanks
Marta

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the infinispan-issues mailing list