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

Doug Cutting commented on MAPREDUCE-1938:
-----------------------------------------

Owen, I agree with your analysis.  I'm just trying to put this patch in context 
of these other related discussions.

This patch addresses some issues relevant to separation of kernel & library.  
In common cases one can merely provide an alternate version of the library 
class in one's job.  Fully separating kernel & library with a well-defined, 
minimal kernel API is clearly aesthetically better.  Are there use cases that 
will that enable that this patch will not?  I think mostly it will just make it 
clear which classes are safe to replace with updated versions and which are 
not.  Does that sound right?

The issue of user versions of libraries that the kernel uses (like Avro, log4j, 
HttpClient, etc.) is not entirely addressed by this patch.  If the user's 
version is backwards compatible with the kernel's version then this patch is 
sufficient.  But if the user's version of a library makes incompatible changes 
then we'd need a classloader/OSGI solution.  Even then, I think it only works 
if user and kernel code do not interchange instances of classes defined by 
these libraries.  A minimal kernel API will help reduce that risk.  Does this 
analysis sound right?

I'm trying to understand how far this patch gets us towards those goals: what 
it solves and what it doesn't.

> Ability for having user's classes take precedence over the system classes for 
> tasks' classpath
> ----------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-1938
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1938
>             Project: Hadoop Map/Reduce
>          Issue Type: New Feature
>          Components: job submission, task, tasktracker
>            Reporter: Devaraj Das
>             Fix For: 0.22.0
>
>         Attachments: mr-1938-bp20.patch
>
>
> It would be nice to have the ability in MapReduce to allow users to specify 
> for their jobs alternate implementations of classes that are already defined 
> in the MapReduce libraries. For example, an alternate implementation for 
> CombineFileInputFormat. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to