我们做到了,应用程序似乎按预期运行 - BE、FE 和 Datastore 似乎都在我们的暂存 GCP 项目中工作。
但是,我们的日志中每 10 秒就会出现以下错误:
Failed to query GCE metadata service
接着
java.io.IOException: com.google.apphosting.api.ApiProxy$CallNotFoundException: Can't make API call urlfetch.Fetch in a thread that is neither the original request thread nor a thread created by ThreadManager
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:70)
at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.fetchResponse(URLFetchServiceStreamHandler.java:609)
at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.getInputStream(URLFetchServiceStreamHandler.java:488)
at com.google.devtools.cdbg.debuglets.java.GceMetadataQuery.readResponse(Unknown Source)
at com.google.devtools.cdbg.debuglets.java.GceMetadataQuery.queryMetadataAttribute(Unknown Source)
at com.google.devtools.cdbg.debuglets.java.GceMetadataQuery.getProjectId(Unknown Source)
at com.google.devtools.cdbg.debuglets.java.GcpHubClient.registerDebuggee(Unknown Source)
Caused by: com.google.apphosting.api.ApiProxy$CallNotFoundException: Can't make API call urlfetch.Fetch in a thread that is neither the original request thread nor a thread created by ThreadManager
at com.google.apphosting.api.ApiProxy$CallNotFoundException.foreignThread(ApiProxy.java:844)
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:117)
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:54)
... 6 more
编辑:云调试器说“调试器找不到应用程序的调试目标”。不过,这些版本仍然依赖于 Java 8 工作,那么迁移缺少什么额外的步骤来正确设置调试器?由于我们使用的是 App Engine 标准环境,因此应该默认启用 ( https://cloud.google.com/debugger/docs/setup/java#gae-standard )。
编辑 2:看起来这可能是 Google Cloud Debugger 错误: https ://github.com/GoogleCloudPlatform/cloud-debug-java/issues/18