[
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