You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Steve Loughran (JIRA)" <ji...@apache.org> on 2013/06/01 12:56:20 UTC

[jira] [Commented] (HADOOP-9517) Document Hadoop Compatibility

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

Steve Loughran commented on HADOOP-9517:
----------------------------------------

As raised in hdfs-dev, we should also define compatibility for people who develop plugins for things like filesystems, schedulers, sorting, block placement, etc.

We should make clear that this isn't considered user-level code, and implementors should have no expectation of forward- or backward- compatibility. Indeed, the use of base classes rather than interfaces for many of these plugin points is to enable new methods to be added with ease.

How about something like (based on my recent {{FileSystem}} work):

* Classes that subclass a Hadoop class to provide a plugin point MAY need recompiling on each major version, possibly with the handling of changes to methods.
* There is no guarantee that a plugin built for an earlier major version of Hadoop can be directly used in a later major version - implementors of plugins MUST expect to have to release new versions
* There is no guarantee that a plugin built on a later major version of Hadoop can be directly used in the earlier major versions. Implementors of plugins MUST expect to have to maintain different versions for each major release.
* We strive to maintain semantic compatibility of existing parameters and methods across major versions. Plugin points MAY tighten their specifications, and MAY mark methods as deprecated. Extra tests MAY be added, for both new features and tightened specifications.
* We strive to maintain binary and semantic compatibility between minor releases. Hopefully plugin implementations are compatible across minor releases. However, plugin points MAY tighten their specifications -and even add extra methods and/or enumerated options to existing methods. Extra tests MAY be added, for both new features and tightened specifications. Implementors SHOULD test on different releases -especially alpha and beta releases, to catch compatibility issues early.
                
> Document Hadoop Compatibility
> -----------------------------
>
>                 Key: HADOOP-9517
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9517
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: documentation
>            Reporter: Arun C Murthy
>            Assignee: Karthik Kambatla
>         Attachments: hadoop-9517.patch, hadoop-9517.patch, hadoop-9517.patch, hadoop-9517.patch, hadoop-9517-proposal-v1.patch, hadoop-9517-proposal-v1.patch
>
>
> As we get ready to call hadoop-2 stable we need to better define 'Hadoop Compatibility'.
> http://wiki.apache.org/hadoop/Compatibility is a start, let's document requirements clearly and completely.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira