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

上一篇: data fails in Google App Engine SDK 1.8.2

下一篇: App Engine development environment fails to launch app