hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tsz Wo Nicholas Sze (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-10506) LimitedPrivate annotation not useful
Date Tue, 15 Apr 2014 20:10:15 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-10506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13969998#comment-13969998
] 

Tsz Wo Nicholas Sze commented on HADOOP-10506:
----------------------------------------------

> ...  But in many cases those components are separate from core hadoop.  This means any
changes to them will break backwards compatibility with those, ...

This part I don't agree.  When changing a LimitedPrivate API, we should aware that the depended
components, which may sit outside core, should still work with the change.  In some cases,
we may also make change to the depended components.  LimitedPrivate does not imply backwards
compatibility since the LimitedPrivate APIs could be Unstable.  It just means that the depended
components are using the API.

> Note that many of the annotation are also not marked properly, or have fallen out of
date. I see Public Interfaces that use LimitedPrivate classes in the api. (TokenCache using
Credentials is an example).

Okay, there is an ambiguity -- When a  Public API method using LimitedPrivate classes, does
it mean that the Public API method automatically become a LimitedPrivate method (this is similar
to the Java private methods in a Public classes; they are not Public APIs)?  Or Public APIs
are not allowed using LimitedPrivate.  (Then, it is a bug as you mentioned but it does not
mean LimitedPrivate annotation not useful.)

Anyway, I do agree that we do not define LimitedPrivate very carefully so that there are confusions
in these special cases.

> LimitedPrivate annotation not useful
> ------------------------------------
>
>                 Key: HADOOP-10506
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10506
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 3.0.0, 2.4.0
>            Reporter: Thomas Graves
>
> The LimitedPrivate annotation isn't useful.  The intention seems to have been those interfaces
were only intended to be used by these components.  But in many cases those components are
separate from core hadoop.  This means any changes to them will break backwards compatibility
with those, which breaks the new compatibility rules in Hadoop.  
> Note that many of the annotation are also not marked properly, or have fallen out of
date.  I see Public Interfaces that use LimitedPrivate classes in the api.  (TokenCache using
Credentials is an example). 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message