Subject: https://issues.apache.org/jira/browse/MAHOUT-662 -- misplaced calls to setJarByClass


I just tried following my own prescription in the above-captioned
jira, and it doesn't work. ClassNotFound on
org.apache.mahout.math.VectorWritable.

That class is in mahout-utils, and the mahout-utils jar is sitting
there in lib/ of the example job jar.

This morning, I built a minimal test case of the hadoop mechanism at
work here. I put one very skinny class in the ordinary part of the
jar, and all the other code in other jars in the lib directory of the
jar. I even included loading a class via the thread context
classloader.

It all worked perfectly fine.

So, the nonfunction of this with Mahout has something to do with ... Mahout.

And I have an idea of what. When we call:

job.setJarByClass(ThreadContextClasspathTestJob.class); (for the
appropriate class of ours).

the class we pass in is the driver class that live in mahout-core, NOT
a class from the example job jar.

I think this is wrong and explains the malfunction. The question is,
how to fix it?