[jira] [Commented] (JCLOUDS-836) Support for the GAE
[ https://issues.apache.org/jira/browse/JCLOUDS-836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17384100#comment-17384100 ] ASF subversion and git services commented on JCLOUDS-836: - Commit 1321043c0261e9a06cbd18ace064ba178b3b8f96 in jclouds's branch refs/heads/master from Andrew Gaul [ https://gitbox.apache.org/repos/asf?p=jclouds.git;h=1321043 ] Remove Google appengine driver This has an incompatibility with JAXB motivating this removal. jclouds GAE has not seen any development or issues in recent years and uses a very old appengine-api-1.0-sdk dependency. Further it appears to have modern Guava incompatibilities as seen in JCLOUDS-836. > Support for the GAE > --- > > Key: JCLOUDS-836 > URL: https://issues.apache.org/jira/browse/JCLOUDS-836 > Project: jclouds > Issue Type: Bug > Components: jclouds-blobstore, jclouds-core, jclouds-drivers >Affects Versions: 1.8.1 > Environment: When running jclouds on the Google App Engine (v1.9.18), > the BlobStore API cannot work. >Reporter: Edouard Mercier >Priority: Major > Labels: gae, google-cloud-storage > > Hello. > I've been digging a long time, both using the v1.8.1 and the v2.0.0-SNAPSHOT, > and found no way to jclouds BlobStore to work on the current GAE Java flavor > v1.9.18. > When attempting to use the "BlobStore.putBlob()" method, I get this > {noformat} > java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is > not allowed on java.lang.String(int,int,char[]) > at com.google.appengine.runtime.Request.process-6c82fef5146f94d9(Request.java) > at java.lang.reflect.Constructor.setAccessible(Constructor.java:40) > at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:156) > at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:152) > at > com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) > at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) > at > com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) > at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) > at com.google.common.cache.LocalCache.get(LocalCache.java:3937) > at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) > at > com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824) > at org.jclouds.reflect.Reflection2.get(Reflection2.java:345) > at org.jclouds.reflect.Reflection2.constructors(Reflection2.java:99) > at > org.jclouds.json.internal.NamingStrategies$AnnotationConstructorNamingStrategy.getDeserializer(NamingStrategies.java:248) > at > org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory.create(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:122) > at com.google.gson.Gson.getAdapter(Gson.java:358) > at > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:109) > at > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46) > at > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.(ReflectiveTypeAdapterFactory.java:84) > at > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:83) > at > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:129) > at > com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:75) > at com.google.gson.Gson.getAdapter(Gson.java:358) > at com.google.gson.Gson.toJson(Gson.java:587) > at com.google.gson.Gson.toJson(Gson.java:574) > at com.google.gson.Gson.toJson(Gson.java:529) > at com.google.gson.Gson.toJson(Gson.java:509) > at org.jclouds.json.internal.GsonWrapper.toJson(GsonWrapper.java:52) > at > org.jclouds.googlecloudstorage.binders.MultipartUploadBinder.bindToRequest(MultipartUploadBinder.java:53) > at > org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:324) > 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.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117) > at > com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87) > at com.sun.proxy.$Proxy62.multipartUpload(Unknown Source) > at >
[jira] [Commented] (JCLOUDS-836) Support for the GAE
[ https://issues.apache.org/jira/browse/JCLOUDS-836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14361220#comment-14361220 ] Edouard Mercier commented on JCLOUDS-836: - [~gaul]: thank your for taking care of my issue, and sorry to be so long to answer. Unfortunately, I haven't the opportunity to test the BlobStorage against AWS, and cannot tell you whether this is specific to the Google Cloud Platform. I do not know whether the fact that the com.google.gson package is involved means that this is a GCP specific issue, what I can guess, is that this is a web service response serialization issue. If the same serialization mechanism is involved for all clouds platforms, this means that it independent from GCP. I know nothing about the JClouds implementation… From a pure technical point of view, I guess that the issue is linked to the fact that the org.jclouds.reflect.Reflection component is attempting to use unauthorized reflection on the GAE. A very quick search (see http://stackoverflow.com/questions/14097973/app-engine-reflection-is-not-allowed-on-private-java-lang-throwable-java-lang-t) reveals and states: The sandbox restrictions don't allow reflection on private variables.. Please, tell me if you have enough material to investigate on. If you need to perform test agains the GAE, I may help running them. Please, let me know. Regards. Support for the GAE --- Key: JCLOUDS-836 URL: https://issues.apache.org/jira/browse/JCLOUDS-836 Project: jclouds Issue Type: Bug Components: jclouds-blobstore, jclouds-core, jclouds-drivers Affects Versions: 1.8.1 Environment: When running jclouds on the Google App Engine (v1.9.18), the BlobStore API cannot work. Reporter: Edouard Mercier Labels: gae Hello. I've been digging a long time, both using the v1.8.1 and the v2.0.0-SNAPSHOT, and found no way to jclouds BlobStore to work on the current GAE Java flavor v1.9.18. When attempting to use the BlobStore.putBlob() method, I get this {noformat} java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is not allowed on java.lang.String(int,int,char[]) at com.google.appengine.runtime.Request.process-6c82fef5146f94d9(Request.java) at java.lang.reflect.Constructor.setAccessible(Constructor.java:40) at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:156) at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:152) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) at com.google.common.cache.LocalCache.get(LocalCache.java:3937) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824) at org.jclouds.reflect.Reflection2.get(Reflection2.java:345) at org.jclouds.reflect.Reflection2.constructors(Reflection2.java:99) at org.jclouds.json.internal.NamingStrategies$AnnotationConstructorNamingStrategy.getDeserializer(NamingStrategies.java:248) at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory.create(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:122) at com.google.gson.Gson.getAdapter(Gson.java:358) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:109) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.init(ReflectiveTypeAdapterFactory.java:84) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:83) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:129) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:75) at com.google.gson.Gson.getAdapter(Gson.java:358) at com.google.gson.Gson.toJson(Gson.java:587) at com.google.gson.Gson.toJson(Gson.java:574) at com.google.gson.Gson.toJson(Gson.java:529) at com.google.gson.Gson.toJson(Gson.java:509) at org.jclouds.json.internal.GsonWrapper.toJson(GsonWrapper.java:52) at org.jclouds.googlecloudstorage.binders.MultipartUploadBinder.bindToRequest(MultipartUploadBinder.java:53) at org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:324) at org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:129) at
[jira] [Commented] (JCLOUDS-836) Support for the GAE
[ https://issues.apache.org/jira/browse/JCLOUDS-836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14347123#comment-14347123 ] Andrew Gaul commented on JCLOUDS-836: - Can you try testing this with another BlobStore provider, e.g., aws-s3? This could help us narrow the issue from all GAE support to just the GCS provider. Support for the GAE --- Key: JCLOUDS-836 URL: https://issues.apache.org/jira/browse/JCLOUDS-836 Project: jclouds Issue Type: Bug Components: jclouds-blobstore, jclouds-core, jclouds-drivers Affects Versions: 1.8.1 Environment: When running jclouds on the Google App Engine (v1.9.18), the BlobStore API cannot work. Reporter: Edouard Mercier Labels: gae Hello. I've been digging a long time, both using the v1.8.1 and the v2.0.0-SNAPSHOT, and found no way to jclouds BlobStore to work on the current GAE Java flavor v1.9.18. When attempting to use the BlobStore.putBlob() method, I get this {noformat} java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is not allowed on java.lang.String(int,int,char[]) at com.google.appengine.runtime.Request.process-6c82fef5146f94d9(Request.java) at java.lang.reflect.Constructor.setAccessible(Constructor.java:40) at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:156) at org.jclouds.reflect.Reflection2$1.load(Reflection2.java:152) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) at com.google.common.cache.LocalCache.get(LocalCache.java:3937) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824) at org.jclouds.reflect.Reflection2.get(Reflection2.java:345) at org.jclouds.reflect.Reflection2.constructors(Reflection2.java:99) at org.jclouds.json.internal.NamingStrategies$AnnotationConstructorNamingStrategy.getDeserializer(NamingStrategies.java:248) at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory.create(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:122) at com.google.gson.Gson.getAdapter(Gson.java:358) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldAdapter(ReflectiveTypeAdapterFactory.java:109) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.access$100(ReflectiveTypeAdapterFactory.java:46) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.init(ReflectiveTypeAdapterFactory.java:84) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:83) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:129) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:75) at com.google.gson.Gson.getAdapter(Gson.java:358) at com.google.gson.Gson.toJson(Gson.java:587) at com.google.gson.Gson.toJson(Gson.java:574) at com.google.gson.Gson.toJson(Gson.java:529) at com.google.gson.Gson.toJson(Gson.java:509) at org.jclouds.json.internal.GsonWrapper.toJson(GsonWrapper.java:52) at org.jclouds.googlecloudstorage.binders.MultipartUploadBinder.bindToRequest(MultipartUploadBinder.java:53) at org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:324) 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.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117) at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87) at com.sun.proxy.$Proxy62.multipartUpload(Unknown Source) at org.jclouds.googlecloudstorage.blobstore.GoogleCloudStorageBlobStore.putBlob(GoogleCloudStorageBlobStore.java:224) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:45) at