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

Steve Loughran commented on HADOOP-13714:
-----------------------------------------

If you are using RFC2119 terms? If so: declare it, use SHOULD, MUST NOT, etc, 
and things like "developers are free to" MUST BE converted to "developers MAY"

bq. but when using components from a different module Hadoop developers should 
behave follow the same guidelines as third-party developers: do not use Private 
or Limited Private (unless explicitly allowed)

no this is silly. The whole of hadoop-common is full of private code, yarn co 
intermixed, things using HDFS config constants where there is no public one, 
etc.  The whole meaning "Private" is "internal use within the same hadoop 
release", at least to me.


Now, there is code marked LimitedPrivate("MapReduce"), but those tend to mean 
("any YARN application will need these").  So I tread those not as "this is the 
only code from the other modules which MR MAY use", so much as "things You MUST 
yse if you want your yarn app to work". 

# Unless stated, any module in org.apache.hadoop MAY use anything in any other 
module. That doesn't mean that YARN SHOULD use HDFS internals, but they can if 
they want to.
# native libraries. Need a story there, especially as you can't have >1 version 
on PATH, and on YARN you might upload an app with an older version of the 
Java-side of the JNI libs. I'd like to see a definitive "don't 
delete/rename/change args on existing methods", so a "2.7 hadoop JAR can link 
to a 2.8 native lib. Or at least a "where possible"
# OS. What is the policy for un-supporting an OS? Minor? Major?






> Tighten up our compatibility guidelines for Hadoop 3
> ----------------------------------------------------
>
>                 Key: HADOOP-13714
>                 URL: https://issues.apache.org/jira/browse/HADOOP-13714
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: documentation
>    Affects Versions: 2.7.3
>            Reporter: Karthik Kambatla
>            Assignee: Daniel Templeton
>            Priority: Blocker
>         Attachments: HADOOP-13714.001.patch, HADOOP-13714.WIP-001.patch
>
>
> Our current compatibility guidelines are incomplete and loose. For many 
> categories, we do not have a policy. It would be nice to actually define 
> those policies so our users know what to expect and the developers know what 
> releases to target their changes. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to