首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java11-不清楚的错误com.google.apphosting.api.ApiProxy$CallNotFoundException

Java11-不清楚的错误com.google.apphosting.api.ApiProxy$CallNotFoundException
EN

Stack Overflow用户
提问于 2021-10-08 13:34:15
回答 1查看 275关注 0票数 1

我们目前正在使用捆绑服务(https://cloud.google.com/blog/products/serverless/support-for-app-engine-services-in-second-generation-runtimes)将应用程序引擎从Java8迁移到Java11。

我们做到了,应用程序似乎正在按预期运行- BE、FE和Datastore似乎都在我们的阶段性GCP项目中工作。

但是,我们的日志中每10秒就会出现以下错误:

代码语言:javascript
复制
Failed to query GCE metadata service

然后

代码语言:javascript
复制
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标准环境时,默认情况下应该启用该环境(https://cloud.google.com/debugger/docs/setup/java#gae-standard)。

编辑2:看起来这可能是Google的bug:https://github.com/GoogleCloudPlatform/cloud-debug-java/issues/18

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-22 12:09:57

根据与发出HTTP请求有关的App引擎文档,如果使用URL,它将导致云客户端库请求(其中包括Google )失败。

在使用捆绑服务时,我们仍然使用appengine-web.xml文件。

我们在那里有以下几行:

<url-stream-handler>urlfetch</url-stream-handler>

删除那条线为我们解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69496712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档