title: Failed to parse mapper output; bug in marshaller or corruption in file /blobstore/[filename] before position 1081871
body: <p>When running appengine map-reduce jobs in prodction, they fail with the following exception</p>
  
  <pre><code>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.&lt;init&gt;(FileServicePb.java:1139)
  at com.google.appengine.api.files.FileServicePb$KeyValue.&lt;init&gt;(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
  </code></pre>
  
  <p>The same job run and complete fine in development mode.</p>
  
  <p>Any pointer to what might be the problem?</p>