hadoop-common-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: (HADOOP-6668) Apply audience and stability annotations to classes in common
Date Fri, 14 May 2010 20:42:45 GMT

     [ 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

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


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


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

> * Metrics - see my detailed comment above


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

View raw message