Google App Engine SDK 1.8.2中的数据失败
我在Mac OS X 10.6.8系统上使用Google App Engine SDK 1.8.2版。 应用程序本身是用Python 2.7编写的,但我认为这与这个问题没有关系。 当我尝试在开发环境中批量加载数据存储时,它失败。 我使用的命令是:
appcfg.py upload_data --config_file=bulkloader.yaml --kind=Capitulary --url=http://localhost:8080/_ah/remote_api --filename=upload.xml
该命令适用于SDK的每一个版本,可以追溯到2010年。当SDK版本1.8.0发布时,它崩溃了,当1.8.1出来时它再次运行,并且在1.8.2出现时再次崩溃。
在此先感谢您的帮助。
以下错误讯息:
INFO 2013-08-05 14:19:05,312 module.py:595] default:“GET / _ah / remote_api?rtok = 215098893971 HTTP / 1.1”200 70 INFO 2013-08-05 14:19:05,569 module.py: 595]默认值:“GET / _ah / remote_api HTTP / 1.1”处理service_name:“datastore_v4”方法时出现异常:“AllocateIds”请求:“”42处理错误2013-08-05 14:19:05 716处理程序.py:回溯(最近一次通话最后):文件“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/handler.py”,行380 post response_data = self.ExecuteRequest(request)File“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/handler.py”,第411行, in ExecuteRequest response_data)File“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/apiproxy_stu 在MakeSyncCall中,第94行“b_map.py”返回stubmap.MakeSyncCall(服务,调用,请求,响应)文件“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/ appengine / api / apiproxy_stub_map.py“,第328行,位于MakeSyncCall rpc.CheckSuccess()文件中”/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/ apiproxy_rpc.py“,第156行,位于_WaitImpl self.request,self.response)文件”/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api /remote_api_stub.py“,第200行,位于MakeSyncCall self._MakeRealSyncCall(服务,调用,请求,响应)文件”/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/应用服务引擎/ EXT / remote_api的/ remote_api_stub.py “,第234行,在_MakeRealSyncCall中引发pickle.loads(response_pb.exception())AttributeError:'NoneType'对象没有属性'THREADSAFE'INFO 2013-08-05 14:19:05,773 module.py:595] default:” POST / _ah / remote_api HTTP / 1.1“处理service_name时出现异常:”datastore_v4“方法:”AllocateIds“请求:”“Traceback(最近一次调用最后):文件“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/handler.py”,第380行,在post_response_data = self中。 ExecuteRequest(request)文件“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/handler.py”,第411行,在ExecuteRequest response_data中)文件“/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine /google/appengine/api/apiproxy_stub_map.py“,第94行,在MakeSyncCall中返回stubmap.MakeSyncCall(服务,调用,请求,响应)文件”/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents /Resources/google_appengine/google/appengine/api/apiproxy_stub_map.py“第328行,位于MakeSyncCall rpc.CheckSuccess()文件中”/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine /google/appengine/api/apiproxy_rpc.py“,第156行,位于_WaitImpl self.request,self.response)文件”/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/谷歌/ appengine / ext / remote_api / remote_api_stub.py“,第200行,在MakeSyncCall self._MakeRealSyncCall(服务,调用,请求,响应)文件”/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents /资源/ google_appengine /谷歌/ AppEngine上 /ext/remote_api/remote_api_stub.py“,第234行,在_MakeRealSyncCall中引发pickle.loads(response_pb.exception())AttributeError:'NoneType'对象没有属性'THREADSAFE'INFO 2013-08-05 14:19:05,802 module .py:595]默认值:“POST / _ah / remote_api HTTP / 1.1”200 96
TL; DR:我通过在第228行的google appengine ext remote_api remote_api_stub.py中添加了return response.ParseFromString(response_pb.response())
来绕过此错误
我在SDK 1.8.3中有类似的错误,这里是Traceback:
Traceback (most recent call last):
File "C:DevGAEgoogleappengineextremote_apihandler.py", line 380, in post
response_data = self.ExecuteRequest(request)
File "C:DevGAEgoogleappengineextremote_apihandler.py", line 411, in ExecuteRequest
response_data)
File "C:DevGAEgoogleappengineapiapiproxy_stub_map.py", line 94, in MakeSyncCall
return stubmap.MakeSyncCall(service, call, request, response)
File "C:DevGAEgoogleappengineapiapiproxy_stub_map.py", line 328, in MakeSyncCall
rpc.CheckSuccess()
File "C:DevGAEgoogleappengineapiapiproxy_rpc.py", line 156, in _WaitImpl
self.request, self.response)
File "C:DevGAEgoogleappengineextremote_apiremote_api_stub.py", line 200, in MakeSyncCall
self._MakeRealSyncCall(service, call, request, response)
File "C:DevGAEgoogleappengineextremote_apiremote_api_stub.py", line 234, in _MakeRealSyncCall
raise pickle.loads(response_pb.exception())
AttributeError: 'NoneType' object has no attribute 'THREADSAFE'
我有点'''围绕它'(:在228线remote_api_stub.py我已经添加了return response.ParseFromString(response_pb.response())
,因此忽略有问题的错误检查。upload_data现在可以工作,但我们希望他们解决这个问题在下一个版本(;
return response.ParseFromString(response_pb.response())
if response_pb.has_application_error():
error_pb = response_pb.application_error()
raise apiproxy_errors.ApplicationError(error_pb.code(),
error_pb.detail())
elif response_pb.has_exception():
raise pickle.loads(response_pb.exception())
elif response_pb.has_java_exception():
raise UnknownJavaServerError("An unknown error has occured in the "
"Java remote_api handler for this call.")
else:
response.ParseFromString(response_pb.response())
我们意识到这个问题正在解决。 我们在appengine问题9666处追踪此问题,请观看该线索以获取更新。 很高兴你现在有一个解决方法。 这不会影响批量生产。
我遇到了与SDK 1.8.5相同的问题,可以验证它现在可以在1.8.6下工作!
链接地址: http://www.djcxy.com/p/88697.html