[
https://issues.apache.org/jira/browse/MAPREDUCE-6293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14503295#comment-14503295
]
Sangjin Lee commented on MAPREDUCE-6293:
----------------------------------------
One reason I went with classLoader.getClass().getName() is
classLoader.toString() would just use Object.toString() and print out the
hashCode which I thought was unnecessary detail. I used this pattern elsewhere
(e.g. MRApps).
I'm OK with switching to the implicit toString(). I acknowledge the point about
TCCL ever being null, although it would be very unlikely. But if we do, I think
it'd be better to switch to it in all places where I log the classloader.
Thoughts?
> uberized job fails with the job classloader enabled
> ---------------------------------------------------
>
> Key: MAPREDUCE-6293
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-6293
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: mr-am
> Affects Versions: 2.6.0
> Reporter: Sangjin Lee
> Assignee: Sangjin Lee
> Attachments: MAPREDUCE-6293.001.patch, MAPREDUCE-6293.002.patch
>
>
> An uberized job fails if the job classloader is enabled and the job needs to
> use the thread context classloader to load a class. Some example error in the
> log:
> {quote}
> 2015-03-23 23:28:34,675 INFO [main\]
> org.apache.hadoop.mapreduce.v2.util.MRApps: Creating job classloader
> ...
> 2015-03-23 23:28:42,096 ERROR [uber-SubtaskRunner\]
> cascading.provider.ServiceLoader: unable to find service class:
> cascading.tuple.hadoop.collect.HadoopTupleMapFactory, with exception:
> java.lang.ClassNotFoundException:
> cascading.tuple.hadoop.collect.HadoopTupleMapFactory
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)