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

Cloud cache store using AWS S3 fails to work with caches which names contain underscore

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 8.0.2.Final
    • 8.2.4.Final
    • Loaders and Stores
    • None

      When cloud cache store use AWS S3 as storage backend, cloud cache store fails on caches which conatins underscore (e.g. on ___defaultcache). It happen only when aws-s3 provider is used, as it uses URI in format http://CONTAINERPREFIX-___$CACHENAME.s3.amazonaws.com/. When s3 is used as a provider, it works fine, but aws-s3 is recommended provider (recommended by jclouds).

      It fails with

      ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
      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.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:420)
              at org.infinispan.demo.S3CacheStore.main(S3CacheStore.java:22)
      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)
              ... 12 more
      Caused by: java.lang.IllegalArgumentException: endpoint.getHost() is null for http://ispn-store-___defaultcache.s3.amazonaws.com/
              at com.google.common.base.Preconditions.checkArgument(Preconditions.java:125)
              at org.jclouds.http.HttpRequest.<init>(HttpRequest.java:245)
              at org.jclouds.rest.internal.GeneratedHttpRequest.<init>(GeneratedHttpRequest.java:83)
              at org.jclouds.rest.internal.GeneratedHttpRequest$Builder.build(GeneratedHttpRequest.java:63)
              at org.jclouds.rest.internal.GeneratedHttpRequest$Builder.build(GeneratedHttpRequest.java:42)
              at org.jclouds.rest.binders.BindAsHostPrefix.bindToRequest(BindAsHostPrefix.java:41)
              at org.jclouds.s3.binders.BindAsHostPrefixIfConfigured.bindToRequest(BindAsHostPrefixIfConfigured.java:59)
              at org.jclouds.rest.internal.RestAnnotationProcessor.decorateRequest(RestAnnotationProcessor.java:627)
              at org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:326)
              at org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:129)
              at org.jclouds.rest.internal.InvokeHttpMethod.toCommand(InvokeHttpMethod.java:188)
              at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:84)
              at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
              at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
              at org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
              at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
              at com.sun.proxy.$Proxy45.bucketExists(Unknown Source)
              at org.jclouds.s3.blobstore.S3BlobStore.containerExists(S3BlobStore.java:130)
              at org.infinispan.persistence.cloud.CloudStore.start(CloudStore.java:112)
              at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:138)
              ... 17 more
      
      

              vjuranek@redhat.com Vojtech Juranek
              vjuranek@redhat.com Vojtech Juranek
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: