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] Updated: (MAPREDUCE-1623) Apply audience and stability annotations to classes in mapred package
Date Tue, 04 May 2010 21:11:06 GMT

     [ https://issues.apache.org/jira/browse/MAPREDUCE-1623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Tom White updated MAPREDUCE-1623:
---------------------------------

    Attachment: MAPREDUCE-1623.patch

Thanks Arun - really useful getting all this feedback. I've attached an updated patch, see
also my comments below.

> src/java/org/apache/hadoop/mapreduce/MRConfig.java
> -> Stable?
It's private, so it matters less, but we should be able to refactor this if it's an internal
class, no? So maybe evolving/unstable.

> src/java/org/apache/hadoop/mapreduce/TaskType.java
> -> Public? Stable?

It is public. Not sure about whether it is stable yet.

> src/java/org/apache/hadoop/mapreduce/StatusReporter.java
> -> Stable or Evolving?

Private, so it matters less.

> src/java/org/apache/hadoop/mapreduce/JobSubmitter.java
> -> Unstable?

Changed.

> src/java/org/apache/hadoop/mapreduce/split/package-info.java
> -> Unstable?

Changed.

> src/java/org/apache/hadoop/mapreduce/JobStatus.java
> -> Public?

Yes.

> src/java/org/apache/hadoop/mapreduce/protocol/package-info.java
> -> Stable?

Changed.

> src/java/org/apache/hadoop/mapreduce/task/package-info.java
> -> Unstable?

Changed

> src/java/org/apache/hadoop/mapreduce/task/reduce/package-info.java
> -> Unstable?

Changed

> src/java/org/apache/hadoop/mapreduce/task/reduce/ShuffleHeader.java
> -> Stable? (I'd like to keep it so, at least, thoughts?)

Changed.

> src/java/org/apache/hadoop/mapreduce/lib/input/LineRecordReader.java
> -> Stable? Limited-Private (Pig) ?

Changed to Evolving, Limited-Private (MR, Pig)

> src/java/org/apache/hadoop/mapreduce/lib/db/OracleDataDrivenDBRecordReader.java
> -> private for extension?
> src/java/org/apache/hadoop/mapreduce/lib/db/MySQLDataDrivenDBRecordReader.java
> -> public for extension?
> src/java/org/apache/hadoop/mapreduce/lib/db/DateSplitter.java
> -> private?
> src/java/org/apache/hadoop/mapreduce/lib/db/OracleDataDrivenDBInputFormat.java
> -> public?
> src/java/org/apache/hadoop/mapreduce/lib/db/BooleanSplitter.java
> -> private?
> src/java/org/apache/hadoop/mapreduce/lib/db/BigDecimalSplitter.java
> -> private?
> src/java/org/apache/hadoop/mapreduce/lib/db/DBRecordReader.java
> -> public?
> src/java/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBRecordReader.java
> -> public?
> src/java/org/apache/hadoop/mapreduce/lib/db/TextSplitter.java
> -> private?
> src/java/org/apache/hadoop/mapreduce/lib/db/DBSplitter.java
> -> private?
> src/java/org/apache/hadoop/mapreduce/lib/db/DBConfiguration.java
> -> private?
> src/java/org/apache/hadoop/mapreduce/lib/db/DBInputFormat.java
> -> public?
> src/java/org/apache/hadoop/mapreduce/lib/db/DBOutputFormat.java
> -> public?
> src/java/org/apache/hadoop/mapreduce/lib/db/DBWritable.java
> -> private?

Needs to be public since client programs can use it.

> src/java/org/apache/hadoop/mapreduce/lib/db/DataDrivenDBInputFormat.java
> -> public?
> src/java/org/apache/hadoop/mapreduce/lib/db/IntegerSplitter.java
> -> private?
> src/java/org/apache/hadoop/mapreduce/lib/db/OracleDateSplitter.java
> -> private?
> src/java/org/apache/hadoop/mapreduce/lib/db/FloatSplitter.java
> -> private?
> src/java/org/apache/hadoop/mapreduce/lib/db/MySQLDBRecordReader.java
> -> public?
> src/java/org/apache/hadoop/mapreduce/lib/db/OracleDBRecordReader.java
> -> public?

I left all of the lib.db classes public evolving since they are used by various extensions
and users. Does this sound reasonable?

> src/java/org/apache/hadoop/mapreduce/lib/reduce/WrappedReducer.java
> -> public?

Yes.

> src/java/org/apache/hadoop/mapreduce/lib/partition/BinaryPartitioner.java
> -> public?

Yes.

> src/java/org/apache/hadoop/mapreduce/lib/map/WrappedMapper.java
> -> public?

Yes.

> src/java/org/apache/hadoop/mapreduce/server/jobtracker/State.java
> -> public?

Yes.

> src/java/org/apache/hadoop/mapreduce/server/jobtracker/JTConfig.java
> -> private?

Changed.

> src/java/org/apache/hadoop/mapreduce/server/jobtracker/TaskTracker.java
> -> limited-private for Schedulers

Changed.

> src/java/org/apache/hadoop/mapreduce/server/tasktracker/TTConfig.java
> -> private?

Changed.

> src/java/org/apache/hadoop/mapreduce/MarkableIterator.java
> -> private?

Are MarkableIterator and MarkableIteratorInterface public user classes? The unit test for
them (TestValueIterReset) implies that the user instantiates a MarkableIterator.

> src/java/org/apache/hadoop/mapreduce/TaskCounter.java
> -> public?

Yes.

> src/java/org/apache/hadoop/mapreduce/QueueAclsInfo.java
> -> private?

It's returned by a public method on Cluster.

> src/java/org/apache/hadoop/mapreduce/ClusterMetrics.java
> -> public

Yes.

> src/java/org/apache/hadoop/mapreduce/MarkableIteratorInterface.java
> -> private

See above.

> src/java/org/apache/hadoop/mapreduce/Job.java
> -> public

Yes.

> src/java/org/apache/hadoop/mapreduce/JobCounter.java
> -> public

Yes.

> src/java/org/apache/hadoop/mapreduce/JobPriority.java
> -> public

Yes.

> src/java/org/apache/hadoop/mapreduce/jobhistory/package-info.java
> -> private

Yes.

> src/java/org/apache/hadoop/mapreduce/Cluster.java
> -> public

Yes.

> src/java/org/apache/hadoop/mapreduce/QueueState.java
> -> private

Referenced from the public QueueInfo class.

> Apply audience and stability annotations to classes in mapred package
> ---------------------------------------------------------------------
>
>                 Key: MAPREDUCE-1623
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1623
>             Project: Hadoop Map/Reduce
>          Issue Type: Sub-task
>          Components: documentation
>            Reporter: Tom White
>            Assignee: Tom White
>            Priority: Blocker
>             Fix For: 0.21.0, 0.22.0
>
>         Attachments: M1623-1.patch, MAPREDUCE-1623.patch, MAPREDUCE-1623.patch, MAPREDUCE-1623.patch,
MAPREDUCE-1623.patch, MAPREDUCE-1623.patch, MAPREDUCE-1623.patch, MAPREDUCE-1623.patch, MAPREDUCE-1623.patch,
MAPREDUCE-1623.patch
>
>
> There are lots of implementation classes in org.apache.hadoop.mapred which makes it difficult
to see the user-level MapReduce API classes in the Javadoc. (See http://hadoop.apache.org/common/docs/r0.20.2/api/org/apache/hadoop/mapred/package-summary.html
for example.) By marking these implementation classes with the InterfaceAudience.Private annotation
we can exclude them from user Javadoc (using HADOOP-6658).
> Later work will move the implementation classes into o.a.h.mapreduce.server and related
packages (see MAPREDUCE-561), but applying the annotations is a good first step. 

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