Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-3399

Infinispan Server Configuration doesn't work properly for loader or store elements

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      While working on ISPN-3350, I tried using a store and loader configuration value for my cache.

      <local-cache name="local">
          <store class="org.infinispan.loaders.file.SingleFileCacheStore"/>
      </local-cache>
      

      However when starting the server I am met with the following error and the cache is not started properly:

      08:23:25,112 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC00001: Failed to start service jboss.endpoint.hotrod.hotrod-connector: org.jboss.msc.service.StartException in service jboss.endpoint.hotrod.hotrod-connector: JDGS010004: Failed to start HotRodServer
      at org.infinispan.server.endpoint.subsystem.ProtocolServerService.start(ProtocolServerService.java:106)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
      at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
      Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.loaders.manager.CacheLoaderManagerImpl.start() on object of type CacheLoaderManagerImpl
      at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:185)
      at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:869)
      at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:638)
      at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:627)
      at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:530)
      at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:204)
      at org.infinispan.CacheImpl.start(CacheImpl.java:664)
      at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:666)
      at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:629)
      at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:522)
      at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:536)
      at org.jboss.as.clustering.infinispan.DefaultEmbeddedCacheManager.getCache(DefaultEmbeddedCacheManager.java:118)
      at org.jboss.as.clustering.infinispan.DefaultEmbeddedCacheManager.getCache(DefaultEmbeddedCacheManager.java:109)
      at org.infinispan.server.hotrod.HotRodServer$$anonfun$preStartCaches$1.apply(HotRodServer.scala:78)
      at org.infinispan.server.hotrod.HotRodServer$$anonfun$preStartCaches$1.apply(HotRodServer.scala:76)
      at scala.collection.Iterator$class.foreach(Iterator.scala:727)
      at scala.collection.AbstractIterator.foreach(Iterator.scala:1156)
      at org.infinispan.server.hotrod.HotRodServer.preStartCaches(HotRodServer.scala:76)
      at org.infinispan.server.hotrod.HotRodServer.startTransport(HotRodServer.scala:65)
      at org.infinispan.server.core.AbstractProtocolServer.start(AbstractProtocolServer.scala:39)
      at org.infinispan.server.hotrod.HotRodServer.start(HotRodServer.scala:51)
      at org.infinispan.server.hotrod.HotRodServer.start(HotRodServer.scala:27)
      at org.infinispan.server.endpoint.subsystem.ProtocolServerService.startProtocolServer(ProtocolServerService.java:123)
      at org.infinispan.server.endpoint.subsystem.ProtocolServerService.start(ProtocolServerService.java:100)
      ... 5 more
      Caused by: org.infinispan.commons.CacheException: Unable to start cache loaders
      at org.infinispan.loaders.manager.CacheLoaderManagerImpl.start(CacheLoaderManagerImpl.java:143)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25]
      at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25]
      at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:183)
      ... 28 more
      Caused by: org.infinispan.commons.CacheConfigurationException: ISPN000249: The cache loader configuration org.infinispan.configuration.cache.LegacyStoreConfiguration does not specify the loader class using @ConfigurationFor
      at org.infinispan.loaders.manager.CacheLoaderManagerImpl.createCacheLoader(CacheLoaderManagerImpl.java:328)
      at org.infinispan.loaders.manager.CacheLoaderManagerImpl.createCacheLoader(CacheLoaderManagerImpl.java:316)
      at org.infinispan.loaders.manager.CacheLoaderManagerImpl.start(CacheLoaderManagerImpl.java:129)
      ... 33 more

      The error stems from the fact that the LegacyStoreConfiguration is used for caches that only provide the classname and not configuration. I am not certain if this is a fix solely in the server or would need some additional changes in Infinispan core. Also maybe there is some other configuration needed? If so the schema should have a requirement for the field or have it more clearly shown in exception.

              Unassigned Unassigned
              wburns@redhat.com Will Burns
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: