[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14561768#comment-14561768
 ] 

Guozhang Wang commented on MAPREDUCE-1700:
------------------------------------------

Thanks [~sjlee0] for the quick replies. I think my main confusion is coming 
from setContextClassLoader() for the thread.

More specifically let's say the thread does both some "framework logic" and 
some user logic like:

{code}
message = system.getMessage().deserialize();  // this is system code
result = process(message); // this is user code that could introduce other 
dependencies
system.send(result.serialize); // this is system code again
{code}

then setting this thread's context class loader to the application class load 
seems not be sufficient to me since the thread would also need to execute some 
framework logic that would require a different class loader?

Sorry about the consecutive questions and if people feel strong about it, I can 
move to the mailing list. Just feel it is more efficient asking the questions 
here with patches at hand.

> User supplied dependencies may conflict with MapReduce system JARs
> ------------------------------------------------------------------
>
>                 Key: MAPREDUCE-1700
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1700
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: task
>            Reporter: Tom White
>            Assignee: Tom White
>             Fix For: 2.0.3-alpha
>
>         Attachments: MAPREDUCE-1700-ccl.patch, MAPREDUCE-1700-ccl.patch, 
> MAPREDUCE-1700.patch, MAPREDUCE-1700.patch, MAPREDUCE-1700.patch, 
> MAPREDUCE-1700.patch, MAPREDUCE-1700.patch, MAPREDUCE-1700.patch, 
> MAPREDUCE-1700.patch, MAPREDUCE-1700.patch
>
>
> If user code has a dependency on a version of a JAR that is different to the 
> one that happens to be used by Hadoop, then it may not work correctly. This 
> happened with user code using a different version of Avro, as reported 
> [here|https://issues.apache.org/jira/browse/AVRO-493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12852081#action_12852081].
> The problem is analogous to the one that application servers have with WAR 
> loading. Using a specialized classloader in the Child JVM is probably the way 
> to solve this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to