ApplicationError: 7 when processing is done for mapreduce worker writing to Google Cloud Storage
只需完成一个大型Appengine mapreduce任务,我的许多碎片就都停留在终点线上。这是设置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | filenames = yield mapreduce_pipeline.MapperPipeline( 'example mapper name', 'main.MyMapper', input_reader_spec='mapreduce.input_readers.DatastoreInputReader', output_writer_spec='mapreduce.output_writers.FileOutputWriter', params={ 'input_reader':{ 'entity_kind':'models.MyModel' }, 'output_writer':{ 'filesystem':'gs', 'mime_type':'text/csv', 'gs_bucket_name':'myBucket', 'output_sharding':'input' } }, shards=DUMP_SHARDS ) |
我正在并行运行其中的3个,每个都有16个分片。一个映射器完成没有问题,其他两个映射器分别在其14和9个分片上获得了成功。
剩余的碎片全部被完全围住,返回
请注意,映射器正在尝试写入Google Cloud Storage。在执行此写操作的位中发生错误。
搜寻了一会儿之后,我在google.appengine.runtime.apiproxy(似乎是有问题的代理)中发现错误7是
我已经(从任务队列中)重试了这些最后的任务大约3个小时,自这些错误开始以来,没有人成功。无论发生什么,它都完全卡住了。我还尝试停止正在运行的所有实例,以防万一这是一个奇怪的本地状态,但那里没有任何变化...
这是完整的堆栈跟踪:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | I 2012-12-13 15:40:23.909 Processing done for shard 14 of job '1582444192075C233F6AA' E 2012-12-13 15:40:23.969 ApplicationError: 7 Traceback (most recent call last): File"/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1511, in __call__ rv = self.handle_exception(request, response, e) File"/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1505, in __call__ rv = self.router.dispatch(request, response) File"/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1253, in default_dispatcher return route.handler_adapter(request, response) File"/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 1077, in __call__ return handler.dispatch() File"/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 547, in dispatch return self.handle_exception(e, self.app.debug) File"/base/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 545, in dispatch return method(*args, **kwargs) File"/base/data/home/apps/myserver/myinstance.363844686987482417/mapreduce/base_handler.py", line 65, in post self.handle() File"/base/data/home/apps/myserver/myinstance.363844686987482417/mapreduce/handlers.py", line 231, in handle tstate.output_writer.finalize(ctx, shard_state.shard_number) File"/base/data/home/apps/myserver/myinstance.363844686987482417/mapreduce/output_writers.py", line 631, in finalize files.finalize(self._filename) File"/base/data/home/apps/myserver/myinstance.363844686987482417/mapreduce/lib/files/file.py", line 568, in finalize f.close(finalize=True) File"/base/data/home/apps/myserver/myinstance.363844686987482417/mapreduce/lib/files/file.py", line 291, in close self._make_rpc_call_with_retry('Close', request, response) File"/base/data/home/apps/myserver/myinstance.363844686987482417/mapreduce/lib/files/file.py", line 427, in _make_rpc_call_with_retry _make_call(method, request, response) File"/base/data/home/apps/myserver/myinstance.363844686987482417/mapreduce/lib/files/file.py", line 252, in _make_call _raise_app_error(e) File"/base/data/home/apps/myserver/myinstance.363844686987482417/mapreduce/lib/files/file.py", line 186, in _raise_app_error raise UnknownError(e) UnknownError: ApplicationError: 7 |
我刚刚遇到了类似的问题。
我认为这特别是写给Google Cloud Storage的问题。
我在这里获得了一些见解:Google App Engine问题:8775
摘要(TLDR):
- 可能是一次性网络问题。
- 可能是帐单问题。
- 结果:如果无法解决问题,并且无法解决结算问题,请与Google支持小组联系。