Hi!

Running this line of code 
Cluster cluster = CouchbaseCluster.create("MY-IP");
in a bare minimum Java GAE produces a crash.

Couchbase is a NoSQL database.
Gradle import for Couchbase: 

compile 'com.couchbase.client:java-client:2.2.2'


Stacktrace:

java.lang.NoClassDefFoundError: Could not initialize class 
com.google.apphosting.runtime.security.shared.stub.java.nio.channels.spi.SelectorProvider
 
at 
com.couchbase.client.deps.io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:52)
 
at 
com.couchbase.client.core.env.DefaultCoreEnvironment.<init>(DefaultCoreEnvironment.java:262)
 
at 
com.couchbase.client.java.env.DefaultCouchbaseEnvironment.<init>(DefaultCouchbaseEnvironment.java:124)
 
at 
com.couchbase.client.java.env.DefaultCouchbaseEnvironment.<init>(DefaultCouchbaseEnvironment.java:55)
 
at 
com.couchbase.client.java.env.DefaultCouchbaseEnvironment$Builder.build(DefaultCouchbaseEnvironment.java:472)
 
at 
com.couchbase.client.java.env.DefaultCouchbaseEnvironment.create(DefaultCouchbaseEnvironment.java:158)
 
at com.couchbase.client.java.CouchbaseCluster.create(CouchbaseCluster.java:164) 
at com.couchbase.client.java.CouchbaseCluster.create(CouchbaseCluster.java:151) 
at ben.tests.couch8.backend.MyServlet.doPost(MyServlet.java:40) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
 
at 
com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)
 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 
at 
com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:37)
 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 
at 
com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60)
 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 
at 
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
 
at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
 
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) 
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) 
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) 
at 
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:260)
 
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
at org.mortbay.jetty.Server.handle(Server.java:326) 
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 
at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
 
at 
com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:78)
 
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 
at 
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:148)
 
at 
com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:469)
 
at 
com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437)
 
at 
com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444)
 
at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:256) 
at 
com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308)
 
at 
com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300)
 
at 
com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441) 
at 
com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:235)
 
at java.lang.Thread.run(Thread.java:745)


As far as I understand is the class 
(java.nio.channels.spi.SelectorProvider) not allowed to be executed because 
of security concerns. All white listed Java classes can be found here: 
https://cloud.google.com/appengine/docs/java/jrewhitelist Unfortunately 
this class is used by Couchbase. What would be your suggestion? Shall I 
host the code at another cloud-service provider?

Kind regards
Benjamin Glatzeder


-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/e495a806-eb13-4ff4-bcf7-ba1446aabd94%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to