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

Tom White commented on MAPREDUCE-3169:
--------------------------------------

I was thinking about a way of implementing this which is less invasive to tests 
that use MiniMRCluster by keeping its client interface the same. 

In 0.20 (and 0.22) we would have a MiniMR1Cluster class that is a copy of the 
existing MiniMRCluster, then we would remove the non-client-side methods from 
MiniMRCluster. (Test code is not a part of the published API so it is 
acceptable to change it incompatibly, and in fact this change would minimize 
the amount of changes needed by tests.) The few tests that use the 
framework-specific features of MiniMRCluster would be changed to use 
MiniMR1Cluster, the others would not need changing.

In 0.23 and trunk we would have the same cutdown MiniMRCluster and the tests 
that use it would be moved to the mvn tree.

HBase, Pig, and Hive would not need to change unless they use non-client-side 
methods (I don't know to what extent they do).
                
> Create a new MiniMRCluster equivalent which only provides client APIs cross 
> MR1 and MR2
> ---------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-3169
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-3169
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: mrv1, mrv2, test
>    Affects Versions: 0.23.0
>            Reporter: Todd Lipcon
>            Assignee: Ahmed Radwan
>         Attachments: MAPREDUCE-3169-0.20-security.patch, 
> MAPREDUCE-3169-truck.patch
>
>
> Many dependent projects like HBase, Hive, Pig, etc, depend on MiniMRCluster 
> for writing tests. Many users do as well. MiniMRCluster, however, exposes MR 
> implementation details like the existence of TaskTrackers, JobTrackers, etc, 
> since it was used by MR1 for testing the server implementations as well.
> This JIRA is to create a new interface which could be implemented either by 
> MR1 or MR2 that exposes only the client-side portions of the MR framework. 
> Ideally it would be "recompile-compatible" with MiniMRCluster for most 
> applications, and the MR1 implementation could be backported to 20x branch. 
> Thus, dependent projects like HBase could migrate to this implementation and 
> test against both MR1 and MR2. We can also use this to port over the current 
> functional tests that use only the client-side features of MiniMRCluster.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to