hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tom White (JIRA)" <j...@apache.org>
Subject [jira] Commented: (MAPREDUCE-954) The new interface's Context objects should be interfaces
Date Fri, 18 Sep 2009 11:57:16 GMT

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

Tom White commented on MAPREDUCE-954:
-------------------------------------

Thanks for the new patch, Arun. Can we mark the interfaces as "Public Evolving"? This would
overcome the problems with API evolvability.

Some other feedback:

* I'm not sure that WrappedMapper and WrappedReducer belong in a "lib" package, since the
classes in "lib" are user-facing, and these are framework classes. (People might see them
and wonder how they can use a WrappedMapper in their application, for example.) They would
be better in the task package I think.
* Can we move org.apache.hadoop.mapreduce.task to org.apache.hadoop.mapreduce.server.task
to better emphasise that this is non-user code. This reflects the packaging of HDFS more,
where things that run on the cluster are under a "server" package. We should have another
JIRA to move org.apache.hadoop.mapreduce.task.reduce to org.apache.hadoop.mapreduce.server.task.reduce.
* It's a shame JobContextImpl is public and in org.apache.hadoop.mapreduce since users shouldn't
be exposed to it. Can we move it to another package?
* Since Job extends JobContextImpl you don't need the changes that change the {{\*_ATTR}}
constants (e.g. {{OUTPUT_FORMAT_CLASS_ATTR}}) to {{JobContextImpl.\*_ATTR}} - they can be
referred to directly.
* What's the compatibility story for previous releases? Would a 0.20 MR program written to
the new ("mapreduce" package) API work with the new interfaces unchanged? What about a 0.20
program using the old MR API - will it continue to work with the old MR API with these changes?

> The new interface's Context objects should be interfaces
> --------------------------------------------------------
>
>                 Key: MAPREDUCE-954
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-954
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: client
>            Reporter: Owen O'Malley
>            Assignee: Arun C Murthy
>             Fix For: 0.21.0
>
>         Attachments: MAPREDUCE-954.patch, MAPREDUCE-954.patch, MAPREDUCE-954.patch, MAPREDUCE-954.patch,
MAPREDUCE-954.patch
>
>
> When I was doing HADOOP-1230, I was persuaded to make the Context objects as classes.
I think that was a serious mistake. It caused a lot of information leakage into the public
classes.

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


Mime
View raw message