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