0

在生产中运行 appengine map-reduce 作业时,它们失败并出现以下异常

java.lang.RuntimeException: com.google.appengine.tools.mapreduce.impl.InMemoryShuffleJob@ef19cd Failed to parse mapper output; bug in marshaller or corruption in file /blobstore/AMIfv96sQoV4ly47IwAozCkeRmcue0YtvamH_8UZf5-e3863MBfXSGahdEhKVfROGGlL2Nws_ctJ2o3-KKBwVcM6Gpw2bm0d6m1kQiewepiJOmbwUsZp4LebyLnhMDTijyLdFKJx49SJtJ44o_D-B1BdCkydv8zUjQ before position 1081871
at com.google.appengine.tools.mapreduce.impl.InMemoryShuffleJob.readInput(InMemoryShuffleJob.java:138)
at com.google.appengine.tools.mapreduce.impl.InMemoryShuffleJob.readInputs(InMemoryShuffleJob.java:152)
at com.google.appengine.tools.mapreduce.impl.InMemoryShuffleJob.run(InMemoryShuffleJob.java:253)
at com.google.appengine.tools.mapreduce.impl.InMemoryShuffleJob.run(InMemoryShuffleJob.java:42)
at com.google.appengine.tools.pipeline.impl.PipelineManager.runJob(PipelineManager.java:753)
at com.google.appengine.tools.pipeline.impl.PipelineManager.processTask(PipelineManager.java:490)
at com.google.appengine.tools.pipeline.impl.servlets.TaskHandler.doPost(TaskHandler.java:55)
at com.google.appengine.tools.pipeline.impl.servlets.PipelineServlet.doGet(PipelineServlet.java:89)
at com.google.appengine.tools.pipeline.impl.servlets.PipelineServlet.doPost(PipelineServlet.java:79)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
...
at java.lang.Thread.run(Thread.java:724)
Caused by: com.google.appengine.repackaged.com.google.protobuf.InvalidProtocolBufferException: Protocol message tag had invalid wire type.
at com.google.appengine.repackaged.com.google.protobuf.InvalidProtocolBufferException.invalidWireType(InvalidProtocolBufferException.java:71)
at com.google.appengine.repackaged.com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:491)
at com.google.appengine.repackaged.com.google.protobuf.GeneratedMessage.parseUnknownField(GeneratedMessage.java:166)
at com.google.appengine.api.files.FileServicePb$KeyValue.<init>(FileServicePb.java:1139)
at com.google.appengine.api.files.FileServicePb$KeyValue.<init>(FileServicePb.java:1096)
at com.google.appengine.api.files.FileServicePb$KeyValue$1.parsePartialFrom(FileServicePb.java:1185)
at com.google.appengine.api.files.FileServicePb$KeyValue$1.parsePartialFrom(FileServicePb.java:1180)
at com.google.appengine.repackaged.com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:117)
at com.google.appengine.repackaged.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:152)
at com.google.appengine.repackaged.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:164)
at com.google.appengine.repackaged.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:169)
at com.google.appengine.repackaged.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:21)
at com.google.appengine.api.files.FileServicePb$KeyValue.parseFrom(FileServicePb.java:1307)
at com.google.appengine.tools.mapreduce.impl.InMemoryShuffleJob.readInput(InMemoryShuffleJob.java:131)
... 54 more

相同的作业在开发模式下运行并完成。

任何指向可能是什么问题的指针?

4

1 回答 1

0

早期版本的 appengine-mapreduce 库中存在错误。

该问题已在较新版本中得到修复。

于 2014-08-04T22:24:38.530 回答