2012-02-22 129 views
1

我们有时在尝试将文件写入Blobstore时遇到此异常。它通常会出现一两分钟,然后一切又恢复正常。 报告在http://code.google.com/p/googleappengine/issues/detail?id=5723 但被标记为关闭。AppEngine Java:API调用file.Create()花费太长时间来响应并被取消

你们有没有经历过这样的事情?

完整的堆栈跟踪是:

com.google.apphosting.api.ApiProxy$ApiDeadlineExceededException: The API call file.Create() took too long to respond and was cancelled. 
at java.lang.Thread.getStackTrace(Thread.java:1495) 
at com.google.apphosting.runtime.ApiProxyImpl.doSyncCall(ApiProxyImpl.java:218) 
at com.google.apphosting.runtime.ApiProxyImpl.access$000(ApiProxyImpl.java:67) 
at com.google.apphosting.runtime.ApiProxyImpl$1.run(ApiProxyImpl.java:163) 
at com.google.apphosting.runtime.ApiProxyImpl$1.run(ApiProxyImpl.java:161) 
at java.security.AccessController.doPrivileged(Native Method) 
at com.google.apphosting.runtime.ApiProxyImpl.makeSyncCall(ApiProxyImpl.java:161) 
at com.google.apphosting.runtime.ApiProxyImpl.makeSyncCall(ApiProxyImpl.java:67) 
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:101) 
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:50) 
at com.google.appengine.api.files.FileServiceImpl.makeSyncCall(FileServiceImpl.java:557) 
at com.google.appengine.api.files.FileServiceImpl.create(FileServiceImpl.java:479) 
at com.google.appengine.api.files.FileServiceImpl.createNewBlobFile(FileServiceImpl.java:99) 
at com.google.appengine.api.files.FileServiceImpl.createNewBlobFile(FileServiceImpl.java:81) 
at ar.com.zupcat.lib.util.BlogstoreUtil.saveToBlogstoreImpl(BlogstoreUtil.java:69) 

谢谢!

回答

3

DeadlineExceededExceptions总是偶尔出现。

您应该始终编写代码来处理这些类型的瞬态错误,如果可能的话,很可能会在短暂延迟后重试请求。

值得指出的是,API文件仍然是实验性的,我们会继续改进它的性能和可靠性 - 但您仍然应该进行防御编码。

+1

由于“实验性”的标签,抵制我的渴望downvote这个..我总是得到这个错误,它是疯了。 – 2012-05-16 21:03:29

相关问题