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

Suresh Srinivas updated HADOOP-6289:
------------------------------------

    Attachment: common.interface.txt

Attached file has interface classification for classes in hadoop common. This 
needs extensive review.
How InterfaceAudience classification was done:
# Classes that are expected to be used by the applications are tagged as Public
# Searched for uses of clasess from common in hdfs and mapreduce, with the 
exception of tests. The classes used in hdfs and mapreduce are classified as 
LimitedPrivate with projects set to (HDFS, MAPREDUCE). 
# Rest of the classes are marked as Private.

How InterfaceStability classification was done:
# All Audience=Public classes are marked either Stable or Evolving based on its 
stability. All Evolving classes are candidates for eventually becoming Stable.
# All the super classes of Stable or Evolving classess, the return values and 
the parameters in public methods are recursively marked Stable/Evolving.

How labeling will be done:
# Classes that are private and unstable are not labelled.
# Classes that are marked as stable will need backward/forward compatibility 
tests.

Open issues:
# A separate jira is needed to track writing tests for backward/forward 
compatility of Stable classes.
# Labelng clarifies where a class can be used and the stability expectation. 
But there is no tool available to check if a class is being misused. 
Alternatively instead of tool, we could have separate jars (a jar for 
application, a jar for internal projects and a jar with all the classes?). 
Applications use a jar that includes only classes relevant to it, avoiding 
misuse of classes. tool or separate jars. Will open a separate jira track this.







> Add interface classification stable & scope to common
> -----------------------------------------------------
>
>                 Key: HADOOP-6289
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6289
>             Project: Hadoop Common
>          Issue Type: Improvement
>    Affects Versions: 0.21.0
>            Reporter: Suresh Srinivas
>            Assignee: Suresh Srinivas
>             Fix For: 0.21.0
>
>         Attachments: common.interface.txt
>
>


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