Appena terminato un grande compito di ridenorazione della mappa di Appengine, e molti dei miei frammenti sono rimasti bloccati dalla linea di arrivo. Ecco il setup:ApplicationError: 7 quando l'elaborazione viene eseguita per il lavoratore di ridenorazione che scrive su Google Cloud Storage
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
)
Sto eseguendo 3 di questi in parallelo, ciascuno con 16 frammenti. Un mappatore completato senza problemi, gli altri due mappatori hanno avuto successo su 14 e 9 dei loro frammenti.
I frammenti rimanenti sono tutti completamente stonewalled, restituendo UnknownError: ApplicationError: 7
. (Traccia stack completo alla fine di questo post.)
Si noti che il mapper sta tentando di scrivere su Google Cloud Storage. L'errore si verifica nei bit che stanno eseguendo questa scrittura.
Dopo aver cercato per un po ', ho trovato, in google.appengine.runtime.apiproxy (che sembra essere il proxy in questione), che l'errore 7 è OTHER_ERROR
.
Ho riprovato queste attività finali (dalla coda delle attività) per circa 3 ore ora, e nessuno è riuscito da quando sono iniziati questi errori; qualunque cosa stia succedendo, è totalmente bloccata. Ho anche provato l'interruzione di tutti i casi questo è stato in esecuzione, nel caso in cui si trattasse di qualche strana cosa stato locale, ma nessun cambiamento c'è ...
Ecco l'intero stack trace:
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
Il collegamento al numero 8775 sta fornendo HTTP 403 ora. – wodow