问题描述:

Do you know of a workaround for this uncaught exception from the Java mapreduce pipeline on Google App Engine?

Is it simply a failure in GcsServiceFactory that created GCS_SERVICE in this line?

https://code.google.com/p/appengine-mapreduce/source/browse/trunk/java/src/com/google/appengine/tools/mapreduce/inputs/GoogleCloudStorageLineInputReader.java?r=462#80

Any ideas on how to fix?

We are seeing this frequently:

 2013-09-24 18:18:17.819 Uncaught exception from servlet

java.lang.NoSuchMethodError:

com.google.appengine.tools.cloudstorage.GcsService.openPrefetchingReadChannel(Lcom/google/appengine/tools/cloudstorage/GcsFilename;JI)Ljava/nio/channels/ReadableByteChannel;

at com.google.appengine.tools.mapreduce.inputs.GoogleCloudStorageLineInputReader.beginSlice(GoogleCloudStorageLineInputReader.java:79)

at com.google.appengine.tools.mapreduce.impl.WorkerShardTask.run(WorkerShardTask.java:84)

at com.google.appengine.tools.mapreduce.impl.shardedjob.ShardedJobRunner.runTask(ShardedJobRunner.java:265)

at com.google.appengine.tools.mapreduce.impl.shardedjob.ShardedJobServiceImpl.handleWorkerRequest(ShardedJobServiceImpl.java:49)

at com.google.appengine.tools.mapreduce.impl.handlers.MapReduceServletImpl.doPost(MapReduceServletImpl.java:76)

at com.google.appengine.tools.mapreduce.MapReduceServlet.doPost(MapReduceServlet.java:57)

网友答案:

I see any of the below possible reasons :

  1. You did not include all the jars in classpath, they might have interdependent classes.
  2. You jar is an old version which is not having that method.
  3. Some dependent jar is missing which not allowing the class constructor to initialize the class object.
相关阅读:
Top