Any idea why memcache.async doesn't work?

17 views
Skip to first unread message

Scott Murphy

unread,
Mar 1, 2012, 4:20:39 PM3/1/12
to Gaelyk
I can't even do this:

AsyncMemcacheService memcache =
MemcacheServiceFactory.getAsyncMemcacheService()
Map entities = memcache.getAll(keys).get()

Does anyone know a workaround? I have the same problem with the .get
method:

https://github.com/glaforge/gaelyk/issues/119

I get the following exception:

Script processing failed.access denied (java.lang.RuntimePermission
accessDeclaredMembers)com.google.appengine.runtime.Request.process-
a4a528f1c4aa9e26(Request.java)

W 2012-03-01 13:13:09.534
[s/120.357189829578827045].<stderr>:
java.security.AccessControlException: access denied
(java.lang.RuntimePermission accessDeclaredMembers)

W 2012-03-01 13:13:09.534
[s/120.357189829578827045].<stderr>: at
com.google.appengine.runtime.Request.process-
a4a528f1c4aa9e26(Request.java)

W 2012-03-01 13:13:09.534
[s/120.357189829578827045].<stderr>: at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:
355)

W 2012-03-01 13:13:09.534
[s/120.357189829578827045].<stderr>: at
java.security.AccessController.checkPermission(AccessController.java:
567)

W 2012-03-01 13:13:09.534
[s/120.357189829578827045].<stderr>: at
java.lang.SecurityManager.checkPermission(SecurityManager.java:549)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.lang.SecurityManager.checkMemberAccess(SecurityManager.java:1679)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.lang.Class.checkMemberAccess(Class.java:2174)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.lang.Class.getDeclaredMethods(Class.java:1807)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.lang.Class.getEnclosingMethod(Class.java:919)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
sun.reflect.generics.scope.ClassScope.computeEnclosingScope(ClassScope.java:
50)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
sun.reflect.generics.scope.AbstractScope.getEnclosingScope(AbstractScope.java:
74)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
sun.reflect.generics.scope.AbstractScope.lookup(AbstractScope.java:90)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
sun.reflect.generics.factory.CoreReflectionFactory.findTypeVariable(CoreReflectionFactory.java:
109)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
sun.reflect.generics.visitor.Reifier.visitTypeVariableSignature(Reifier.java:
165)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
sun.reflect.generics.tree.TypeVariableSignature.accept(TypeVariableSignature.java:
43)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:
68)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:
138)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:
49)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:
84)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.lang.Class.getGenericSuperclass(Class.java:694)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
com.sun.beans.TypeResolver.prepare(TypeResolver.java:274)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
com.sun.beans.TypeResolver.<init>(TypeResolver.java:243)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
com.sun.beans.TypeResolver.resolve(TypeResolver.java:172)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:93)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.beans.FeatureDescriptor.getParameterTypes(FeatureDescriptor.java:
385)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:
639)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.beans.PropertyDescriptor.setReadMethod(PropertyDescriptor.java:
254)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:161)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.beans.Introspector.addPropertyDescriptor(Introspector.java:657)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.beans.Introspector.addPropertyDescriptors(Introspector.java:668)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.beans.Introspector.getTargetPropertyInfo(Introspector.java:520)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.beans.Introspector.getBeanInfo(Introspector.java:425)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.beans.Introspector.getBeanInfo(Introspector.java:189)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at groovy.lang.MetaClassImpl
$15.run(MetaClassImpl.java:2924)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
java.security.AccessController.doPrivileged(AccessController.java:63)

W 2012-03-01 13:13:09.535
[s/120.357189829578827045].<stderr>: at
groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2922)

W 2012-03-01 13:13:09.536
[s/120.357189829578827045].<stderr>: at
groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2905)

W 2012-03-01 13:13:09.536
[s/120.357189829578827045].<stderr>: at
org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:
166)

W 2012-03-01 13:13:09.536
[s/120.357189829578827045].<stderr>: at
org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:
195)

W 2012-03-01 13:13:09.536
[s/120.357189829578827045].<stderr>: at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:
231)

W 2012-03-01 13:13:09.536
[s/120.357189829578827045].<stderr>: at
org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:
747)

W 2012-03-01 13:13:09.536
[s/120.357189829578827045].<stderr>: at
org.codehaus.groovy.runtime.callsite.CallSiteArray.createPojoSite(CallSiteArray.java:
109)

W 2012-03-01 13:13:09.536
[s/120.357189829578827045].<stderr>: at
org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:
150)

W 2012-03-01 13:13:09.536
[s/120.357189829578827045].<stderr>: at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
42)

W 2012-03-01 13:13:09.536
[s/120.357189829578827045].<stderr>: at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
108)

W 2012-03-01 13:13:09.536
[s/120.357189829578827045].<stderr>: at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
112)

Guillaume Laforge

unread,
Mar 2, 2012, 6:47:52 AM3/2/12
to gae...@googlegroups.com
Hi Scott,

Well, not really.
The JVM used by Google App Engine is a bit customized and sometimes
doesn't play nice with Groovy.
We've fixed some issues in the past in that vein, but they're not easy
to figure out and fix.
No idea for now.

Guillaume

> --
> You've received this message because you've subscribed to the Gaelyk Google Group.
> To send an email to the group, please write to: gae...@googlegroups.com
> To unsuscribe from this group: gaelyk+un...@googlegroups.com
> To show more options: http://groups.google.fr/group/gaelyk?hl=en

--
Guillaume Laforge
Groovy Project Manager
SpringSource, a division of VMware

Blog: http://glaforge.appspot.com/
Twitter: @glaforge
Google+: http://gplus.to/glaforge

Scott Murphy

unread,
Mar 2, 2012, 7:14:07 PM3/2/12
to Gaelyk
So Groovy and AsyncMemcacheService are just not compatible?

Even if I don't call .get() on the future, it still fails:

e.g.

def memcache = MemcacheServiceFactory.asyncMemcacheService
def whatever = memcache.get('scott') // fails


Do you know what the specific issue is so I can work w/ Google to fix
it?
Or do you know how I can identify what the offending issue it?

Also, for a work around, do you think if I wrote Java code that
wrapped the Future in another Future would help? or would it
recursively fail?


2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>:
java.security.AccessControlException: access denied
(java.lang.RuntimePermission accessDeclaredMem
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
com.google.appengine.runtime.Request.process-8cac433c7c447ad7(Request.java)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:
355)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.security.AccessController.checkPermission(AccessController.java:
567)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.lang.SecurityManager.checkMemberAccess(SecurityManager.java:1679)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.lang.Class.checkMemberAccess(Class.java:2174)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.lang.Class.getDeclaredMethods(Class.java:1807)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.lang.Class.getEnclosingMethod(Class.java:919)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
sun.reflect.generics.scope.ClassScope.computeEnclosingScope(ClassScope.java:
50)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
sun.reflect.generics.scope.AbstractScope.getEnclosingScope(AbstractScope.java:
74)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
sun.reflect.generics.scope.AbstractScope.lookup(AbstractScope.java:90)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
sun.reflect.generics.factory.CoreReflectionFactory.findTypeVariable(CoreReflectionFactory.java
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
sun.reflect.generics.visitor.Reifier.visitTypeVariableSignature(Reifier.java:
165)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
sun.reflect.generics.tree.TypeVariableSignature.accept(TypeVariableSignature.java:
43)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:
68)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:
138)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:
49)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
sun.reflect.generics.repository.ClassRepository.getSuperclass(ClassRepository.java:
84)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.lang.Class.getGenericSuperclass(Class.java:694)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
com.sun.beans.TypeResolver.prepare(TypeResolver.java:274)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
com.sun.beans.TypeResolver.<init>(TypeResolver.java:243)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
com.sun.beans.TypeResolver.resolve(TypeResolver.java:172)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
com.sun.beans.TypeResolver.resolveInClass(TypeResolver.java:93)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.beans.FeatureDescriptor.getParameterTypes(FeatureDescriptor.java:
385)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:
639)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.beans.PropertyDescriptor.setReadMethod(PropertyDescriptor.java:
254)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:161)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.beans.Introspector.addPropertyDescriptor(Introspector.java:657)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.beans.Introspector.addPropertyDescriptors(Introspector.java:668)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.beans.Introspector.getTargetPropertyInfo(Introspector.java:520)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.beans.Introspector.getBeanInfo(Introspector.java:425)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.beans.Introspector.getBeanInfo(Introspector.java:189)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at groovy.lang.MetaClassImpl
$15.run(MetaClassImpl.java:2924)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
java.security.AccessController.doPrivileged(AccessController.java:63)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2922)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2905)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:
166)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:
195)
W 2012-03-02 16:05:44.206 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl
W 2012-03-02 16:05:44.207 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:
747)
W 2012-03-02 16:05:44.207 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:
780)
W 2012-03-02 16:05:44.207 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:
772)
W 2012-03-02 16:05:44.207 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToBoolean(DefaultTypeTr
W 2012-03-02 16:05:44.207 [s~pixoto-staging/
120.357193627430338128].<stderr>: at
org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.booleanUnbox(DefaultTypeTra
W 2012-03-02 16:05:44.207 [s~pixoto-staging/
120.357193627430338128].<stderr>: at execute.escape(MyAsyncTest.groovy:
44)
W
> > 150)
>
> > W 2012-03-01 13:13:09.536
> > [s/120.357189829578827045].<stderr>:    at
> > org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArra y.java:

Guillaume Laforge

unread,
Mar 5, 2012, 5:32:27 AM3/5/12
to gae...@googlegroups.com
Hi Scott,

On Sat, Mar 3, 2012 at 01:14, Scott Murphy <sc...@pixoto.com> wrote:
> So Groovy and AsyncMemcacheService are just not compatible?

Well, for now, for some reason, yes.
But I'm sure we'll find out what's going on, but I can't give you any
ETA for now :-(

Guillaume

Scott Murphy

unread,
Mar 6, 2012, 2:51:07 AM3/6/12
to Gaelyk
Do you think wrapping the Future in Java might help?
Or do you think the wrapped Future will experience the same error?

On Mar 5, 2:32 am, Guillaume Laforge <glafo...@gmail.com> wrote:
> Hi Scott,
>
> > sun.reflect.generics.visitor.Reifier.visitTypeVariableSignature(Reifier.jav a:
> > org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.booleanU nbox(DefaultTypeTra

John

unread,
Mar 10, 2012, 1:55:34 AM3/10/12
to gae...@googlegroups.com
If your Groovy code is looking at Java classes that are in your own package, I'd be surprised if you got the access violations unless you subclass own of Google's classes or something that Google hasn't white-listed.

I'd try using Java to encapsulate the classes that cause grief, assuming there aren't too many complex classes involved.
> >> > To unsuscribe from this group: gaelyk+unsubscribe@googlegroups.com
> >> > To show more options:http://groups.google.fr/group/gaelyk?hl=en
>
> >> --
> >> Guillaume Laforge
> >> Groovy Project Manager
> >> SpringSource, a division of VMware
>
> >> Blog: http://glaforge.appspot.com/
> >> Twitter: @glaforge
> >> Google+:http://gplus.to/glaforge
>
> > --
> > You've received this message because you've subscribed to the Gaelyk Google Group.
> > To send an email to the group, please write to: gae...@googlegroups.com
> > To unsuscribe from this group: gaelyk+unsubscribe@googlegroups.com
Reply all
Reply to author
Forward
0 new messages