[ 
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)

Reply via email to