Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatibility with appengine-gcs-client #599

Closed
NicolaSpreafico opened this issue Aug 22, 2016 · 8 comments
Closed

Incompatibility with appengine-gcs-client #599

NicolaSpreafico opened this issue Aug 22, 2016 · 8 comments
Assignees

Comments

@NicolaSpreafico
Copy link

Hello,
I have an implementation with appengine-gcs-client which I'm using to use a transparent code for both development and production environment.

<dependency>
    <groupId>com.google.appengine.tools</groupId>
    <artifactId>appengine-gcs-client</artifactId>
    <version>0.6</version>
</dependency>

The code is pretty simple

GcsService createGcsService = GcsServiceFactory.createGcsService();
GcsOutputChannel createOrReplace = createGcsService.createOrReplace(storageObject, GcsFileOptions.getDefaultInstance());

try (OutputStream newOutputStream = Channels.newOutputStream(createOrReplace)) {
    IOUtils.write(json.toString().getBytes("UTF-8"), newOutputStream);
}

But it seems there is some incompatibility problem, as you can read from the server log

ago 22, 2016 7:44:08 AM com.google.appengine.repackaged.org.apache.commons.httpclient.SimpleHttpConnectionManager getConnectionWithTimeout

AVVERTENZA: SimpleHttpConnectionManager being used incorrectly.  Be sure that HttpMethod.releaseConnection() is always called and that only one thread and/or method is using this connection manager at a time.

ago 22, 2016 7:44:08 AM com.google.appengine.tools.cloudstorage.RetryHelper doRetry

INFORMAZIONI: RetryHelper(1.570 ms, 1 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@8111e8c): Attempt #1 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 1231 ms

ago 22, 2016 7:44:09 AM com.google.appengine.tools.cloudstorage.RetryHelper doRetry

INFORMAZIONI: RetryHelper(1.236 s, 2 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@8111e8c): Attempt #2 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 2329 ms

ago 22, 2016 7:44:12 AM com.google.appengine.tools.cloudstorage.RetryHelper doRetry

INFORMAZIONI: RetryHelper(3.565 s, 3 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@8111e8c): Attempt #3 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 4260 ms

ago 22, 2016 7:44:16 AM com.google.appengine.tools.cloudstorage.RetryHelper doRetry

INFORMAZIONI: RetryHelper(7.826 s, 4 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@8111e8c): Attempt #4 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 6098 ms

ago 22, 2016 7:44:22 AM com.google.appengine.tools.cloudstorage.RetryHelper doRetry

INFORMAZIONI: RetryHelper(13.92 s, 5 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@8111e8c): Attempt #5 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 14554 ms

ago 22, 2016 7:44:36 AM com.google.apphosting.utils.jetty.JettyLogger warn

AVVERTENZA: /

com.google.appengine.tools.cloudstorage.RetriesExhaustedException: RetryHelper(28.48 s, 6 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@8111e8c): Too many failures, giving up

    at com.google.appengine.tools.cloudstorage.RetryHelper.doRetry(RetryHelper.java:127)

    at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:166)

    at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:156)

    at com.google.appengine.tools.cloudstorage.GcsServiceImpl.createOrReplace(GcsServiceImpl.java:70)

    ... my project stack ...

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:48)

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.google.appengine.tools.development.devappserver2.RequestIdFilter.doFilter(RequestIdFilter.java:36)

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:128)

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34)

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:50)

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)

    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.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:98)

    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

    at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:511)

    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 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)

    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)

    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)

    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)

    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

Caused by: java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService$BlobStorageAdapter.getInstance(LocalRawGcsService.java:186)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService$BlobStorageAdapter.access$000(LocalRawGcsService.java:109)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService.ensureInitialized(LocalRawGcsService.java:194)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService.beginObjectCreation(LocalRawGcsService.java:249)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService.beginObjectCreation(LocalRawGcsService.java:92)

    at com.google.appengine.tools.cloudstorage.GcsServiceImpl$1.call(GcsServiceImpl.java:74)

    at com.google.appengine.tools.cloudstorage.GcsServiceImpl$1.call(GcsServiceImpl.java:70)

    at com.google.appengine.tools.cloudstorage.RetryHelper.doRetry(RetryHelper.java:108)

    ... 37 more

Caused by: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)

    at java.lang.Class.getDeclaredMethod(Class.java:2130)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService$BlobStorageAdapter.<init>(LocalRawGcsService.java:123)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService$BlobStorageAdapter.getInstance(LocalRawGcsService.java:184)

    ... 44 more

And here is the final stack trace

com.google.appengine.tools.cloudstorage.RetriesExhaustedException: RetryHelper(28.48 s, 6 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@8111e8c): Too many failures, giving up
    at com.google.appengine.tools.cloudstorage.RetryHelper.doRetry(RetryHelper.java:127)
    at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:166)
    at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:156)
    at com.google.appengine.tools.cloudstorage.GcsServiceImpl.createOrReplace(GcsServiceImpl.java:70)

Needless to say, with the previous plugin I never saw this kind of error, it works w/o problems.

@elharo
Copy link
Contributor

elharo commented Aug 24, 2016

@NicolaSpreafico by any chance do you have a small app demonstrating this problem you could share? That would make it easier to diagnose and debug.

It looks like this starts with an existing maven project? Does everything work when you run from outside of Eclipse?

@NicolaSpreafico
Copy link
Author

NicolaSpreafico commented Aug 25, 2016

@elharo I did a brand new installation of all the system to avoid any problem on my local machine.

  1. New installation of Eclipse Neon
  2. New installation of Cloud SDK
  3. New installation of GCloud Eclipse Tools

Because of the very simplicity on reproduce the problem, It is easier to give you 2-3 steps to reproduce the problem

  1. Create a new project (with Hello World example)
  2. Add this dependency
<!-- https://mvnrepository.com/artifact/com.google.appengine.tools/appengine-gcs-client -->
<dependency>
    <groupId>com.google.appengine.tools</groupId>
    <artifactId>appengine-gcs-client</artifactId>
    <version>0.6</version>
</dependency>
  1. Add this code to the HelloAppEngine servlet implementation
GcsFilename gcsObj = new GcsFilename("bucket", "object.txt");
GcsService createGcsService = GcsServiceFactory.createGcsService();
GcsOutputChannel createOrReplace = createGcsService.createOrReplace(gcsObj,
        GcsFileOptions.getDefaultInstance());

try (OutputStream newOutputStream = Channels.newOutputStream(createOrReplace)) {
    try (BufferedOutputStream bos = new BufferedOutputStream(newOutputStream)) {
        bos.write("test".getBytes());
    }
}

This code should create a simple text file in the local Cloud Storage emulation

  1. Run the server with DEBUG MODE (right-click -> Debug As and create a new server)
    Inside my local machine, the server started with the following log
INFO     2016-08-25 10:22:02,631 devappserver2.py:769] Skipping SDK update check.
INFO     2016-08-25 10:22:02,694 api_server.py:205] Starting API server at: http://localhost:55084
INFO     2016-08-25 10:22:02,700 dispatcher.py:197] Starting module "default" running at: http://localhost:8080
INFO     2016-08-25 10:22:02,701 admin_server.py:116] Starting admin server at: http://localhost:8000
ago 25, 2016 10:22:04 AM com.google.appengine.tools.development.SystemPropertiesManager setSystemProperties

Informazioni: Overwriting system property key 'java.util.logging.config.file', value 'C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\java\config\sdk\logging.properties' with value 'WEB-INF/logging.properties' from 'C:\Users\Francesco\workspace_neon\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\testgcs\WEB-INF\appengine-web.xml'

ago 25, 2016 8:22:04 AM com.google.appengine.tools.development.AbstractContainerService configure

Avvertenza: Null value for containerConfigProperties.get(devappserver.portMappingProvider)

ago 25, 2016 8:22:04 AM com.google.apphosting.utils.jetty.JettyLogger info

Informazioni: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger

ago 25, 2016 8:22:04 AM com.google.apphosting.utils.jetty.JettyLogger info

Informazioni: jetty-6.1.x

ago 25, 2016 8:22:04 AM com.google.apphosting.utils.jetty.JettyLogger info

Informazioni: Started SelectChannelConnector@localhost:55086

ago 25, 2016 8:22:04 AM com.google.appengine.tools.development.AbstractModule startup

Informazioni: Module instance default is running at http://localhost:55086/

ago 25, 2016 8:22:04 AM com.google.appengine.tools.development.AbstractModule startup

Informazioni: The admin console is running at http://localhost:55086/_ah/admin

ago 25, 2016 8:22:04 AM com.google.appengine.tools.development.devappserver2.DevAppServer2Impl doStart

Informazioni: Dev App Server is now running

ago 25, 2016 8:22:07 AM com.google.appengine.tools.development.LocalResourceFileServlet doGet

Avvertenza: No file found for: /_ah/warmup

INFO     2016-08-25 10:22:07,969 module.py:788] default: "GET /_ah/warmup HTTP/1.1" 404 83

As soon I hit the HelloAppEngine servlet the following error is thrown:

ago 25, 2016 8:23:59 AM com.google.appengine.tools.cloudstorage.RetryHelper doRetry

Informazioni: RetryHelper(2.316 ms, 1 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@1e271de): Attempt #1 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 1202 ms

ago 25, 2016 8:24:00 AM com.google.appengine.tools.cloudstorage.RetryHelper doRetry

Informazioni: RetryHelper(1.207 s, 2 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@1e271de): Attempt #2 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 1582 ms

ago 25, 2016 8:24:02 AM com.google.appengine.tools.cloudstorage.RetryHelper doRetry

Informazioni: RetryHelper(2.789 s, 3 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@1e271de): Attempt #3 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 4262 ms

ago 25, 2016 8:24:06 AM com.google.appengine.tools.cloudstorage.RetryHelper doRetry

Informazioni: RetryHelper(7.051 s, 4 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@1e271de): Attempt #4 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 8205 ms

ago 25, 2016 8:24:14 AM com.google.appengine.tools.cloudstorage.RetryHelper doRetry

Informazioni: RetryHelper(15.26 s, 5 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@1e271de): Attempt #5 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 14843 ms

ago 25, 2016 8:24:29 AM com.google.apphosting.utils.jetty.JettyLogger warn

Avvertenza: /hello

com.google.appengine.tools.cloudstorage.RetriesExhaustedException: RetryHelper(30.10 s, 6 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@1e271de): Too many failures, giving up

    at com.google.appengine.tools.cloudstorage.RetryHelper.doRetry(RetryHelper.java:127)

    at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:166)

    at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:156)

    at com.google.appengine.tools.cloudstorage.GcsServiceImpl.createOrReplace(GcsServiceImpl.java:70)

    at it.noovle.testgcs.HelloAppEngine.doGet(HelloAppEngine.java:45)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)

    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.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.google.appengine.tools.development.devappserver2.RequestIdFilter.doFilter(RequestIdFilter.java:36)

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:128)

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34)

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:50)

    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

    at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)

    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.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:98)

    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

    at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:511)

    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 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)

    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)

    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)

    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)

    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

Caused by: java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService$BlobStorageAdapter.getInstance(LocalRawGcsService.java:186)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService$BlobStorageAdapter.access$000(LocalRawGcsService.java:109)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService.ensureInitialized(LocalRawGcsService.java:194)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService.beginObjectCreation(LocalRawGcsService.java:249)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService.beginObjectCreation(LocalRawGcsService.java:92)

    at com.google.appengine.tools.cloudstorage.GcsServiceImpl$1.call(GcsServiceImpl.java:74)

    at com.google.appengine.tools.cloudstorage.GcsServiceImpl$1.call(GcsServiceImpl.java:70)

    at com.google.appengine.tools.cloudstorage.RetryHelper.doRetry(RetryHelper.java:108)

    ... 37 more

Caused by: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)

    at java.lang.Class.getDeclaredMethod(Unknown Source)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService$BlobStorageAdapter.<init>(LocalRawGcsService.java:123)

    at com.google.appengine.tools.cloudstorage.dev.LocalRawGcsService$BlobStorageAdapter.getInstance(LocalRawGcsService.java:184)

    ... 44 more




@elharo
Copy link
Contributor

elharo commented Aug 25, 2016

Thanks. I'll take a look at this today.

@elharo elharo self-assigned this Aug 25, 2016
@chanseokoh
Copy link
Contributor

For me, I couldn't reproduce it on Mars/Linux.

About the NoSuchMethodException, which seems to be the root cause:

java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)

I see that the class DevAppServer2Delegate exists in both appengine-tools-api.jar and appengine-local-runtime.jar in my latest Cloud SDK. What is weird, though, is that I don't see the method getService() in the said class from the either jar after decompilation.

@elharo
Copy link
Contributor

elharo commented Aug 25, 2016

Running in debug mode is not necessary. I can reproduce this in regular, non-debug mode.

INFO: RetryHelper(16.81 s, 5 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@4433486f): Attempt #5 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 19029 ms

FYI, this is with a maven project (in case that wasn't obvious)

@elharo
Copy link
Contributor

elharo commented Aug 25, 2016

This works with mvn appengine:devserver:

[INFO] Aug 25, 2016 10:28:32 AM com.google.appengine.tools.development.DevAppServerImpl doStart
[INFO] INFO: Dev App Server is now running
[INFO] Aug 25, 2016 10:30:57 AM com.google.appengine.api.datastore.dev.LocalDatastoreService init
[INFO] INFO: Local Datastore initialized:
[INFO] Type: High Replication
[INFO] Storage: /Users/elharo/runtime-EclipseApplication/i599/target/i599-0.1.0-SNAPSHOT/WEB-INF/appengine-generated/local_db.bin
[INFO] Aug 25, 2016 10:30:57 AM com.google.appengine.api.datastore.dev.LocalDatastoreService load
[INFO] INFO: The backing store, /Users/elharo/runtime-EclipseApplication/i599/target/i599-0.1.0-SNAPSHOT/WEB-INF/appengine-generated/local_db.bin, does not exist. It will be created.

@elharo
Copy link
Contributor

elharo commented Aug 25, 2016

OK, the issue is reproducible at command line with

mvn gcloud:run

[INFO] Aug 25, 2016 2:35:08 PM com.google.appengine.tools.cloudstorage.RetryHelper doRetry
[INFO] INFO: RetryHelper(6.699 s, 4 attempts, com.google.appengine.tools.cloudstorage.GcsServiceImpl$1@27e794b): Attempt #4 failed [java.io.IOException: java.lang.NoSuchMethodException: com.google.appengine.tools.development.devappserver2.DevAppServer2Delegate.getService(java.lang.String)], sleeping for 9476 ms

This means the issue is either in the maven gcloud plugin or in gcloud itself. I doubt we can fix this in the Eclipse plug-in. I'll need to pass it up the dependency tree to the relevant team.

@elharo
Copy link
Contributor

elharo commented Aug 25, 2016

Tracking further work in GoogleCloudPlatform/gcloud-maven-plugin#100 since this is not Eclipse specific.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants