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

Tom White updated HADOOP-6668:
------------------------------

    Attachment: HADOOP-6668.patch

Thanks for the detailed feedback, Sanjay. I have produced a new patch which 
addresses all your points (see below). I've also gone through and added Public 
Stable to those classes where I had left it implicit. As you said, this is 
getting close now.

> * ContentSummary, FsServerDefaults Public, Evolving.  But all the writable 
> methods are Private.

Agreed - done.

> * PositionedReadable, Seekable and Syncable - there was an internal debate in 
> my corridor  on this - lets discuss this on the jira.

I think these are user-facing, hence Public. Seekable#seekToNewSource should be 
private though, since it's an internal method.

> * security classes limited private evolving

OK - done. But do we need further changes given MAPREDUCE-1651?

> * DF, DU used by HDFS and MR for checking localfs - hence limitedPrivate 
> evolving

Done

> * FsShell - we are only exposing bin/hadoop fs; FsShell is an implementation 
> of it. Hence private

Done

> * Trash - private - the public cmds delete and expunge cmds expose the 
> functionality

I think the intent is for users to be able to move files to trash, and expunge 
trash, from Java programs. I think Hive and Pig may use it too. So I  think 
it's Public Stable (or Evolving perhaps).

> * Metrics - see my detailed comment above

Done

> * The io.serializer classes are private but the class name is public since it 
> can be specified in config (use the same solution as proposed for  metric 
> plugins.

I made the serializer classes LimitedPrivate (HDFS, MapReduce), and left the 
Serialization implementations Public, but with Private methods.

> * GenericOptionsParser, private but Tool, ToolRunner public.

OK - done.

> * ReflectionUtils,  limited private.

Client code may use ReflectionUtils.newInstance() - so I would suggest Public 
Evolving.


> Apply audience and stability annotations to classes in common
> -------------------------------------------------------------
>
>                 Key: HADOOP-6668
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6668
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: documentation
>            Reporter: Tom White
>            Assignee: Tom White
>            Priority: Blocker
>             Fix For: 0.21.0
>
>         Attachments: common.interface-tw-annotated.txt, HADOOP-6668.patch, 
> HADOOP-6668.patch, HADOOP-6668.patch, HADOOP-6668.patch, HADOOP-6668.patch, 
> HADOOP-6668.patch, HADOOP-6668.patch
>
>
> Mark private implementation classes with the InterfaceAudience.Private or 
> InterfaceAudience.LimitedPrivate annotation to exclude them from user Javadoc 
> and JDiff.

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