-
Bug
-
Resolution: Done
-
Major
-
8.2.4.Final
-
None
When target container doesn't exists, cloud cache store will create it. However, on OpenStack Swift it fails with
Exception in thread "main" org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.start() on object of type PersistenceManagerImpl at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:172) at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:867) at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:633) at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:622) at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:547) at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:238) at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:890) at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:636) at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:587) at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:452) at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:438) at org.infinispan.demo.SwiftCacheStore.main(SwiftCacheStore.java:20) Caused by: org.infinispan.commons.CacheException: Unable to start cache loaders at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:171) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168) ... 11 more Caused by: java.lang.IllegalArgumentException: location must be null or {scope=REGION, id=regionOne, description=regionOne, parent=openstack-swift} at com.google.common.base.Preconditions.checkArgument(Preconditions.java:148) at org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore.createContainerInLocation(RegionScopedSwiftBlobStore.java:147) at org.jclouds.openstack.swift.v1.blobstore.RegionScopedSwiftBlobStore.createContainerInLocation(RegionScopedSwiftBlobStore.java:142) at org.infinispan.persistence.cloud.CloudStore.start(CloudStore.java:118) at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:138) ... 16 more
As jclouds doesn't require region to be defined for Swift, probably best approach is to allow users not to specify the region.