hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Hadoop Wiki] Update of "Compatibility" by karthikkambatla
Date Tue, 23 Apr 2013 20:07:16 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The "Compatibility" page has been changed by karthikkambatla:

   2. Cover compatibility items that are beyond the scope of API classification,  along the
lines of those discussed in [[https://issues.apache.org/jira/browse/HADOOP-5071|HADOOP-5071]],
focused on Hadoop v1.
   3. The [[Roadmap]] captures release policies, some of the content is out of date.
+ ''Note to downstream projects/users'': If you are concerned about compatibility at any level,
we strongly encourage you follow the Hadoop developer mailing lists, and track on JIRA issues
that may concern you. You are also strongly advised to verify that your code works against
beta releases of forthcoming Hadoop versions, as that is a time in which identified regressions
can be corrected rapidly - if you only test when a new final release ships, the time to fix
is likely to be at least three months.
  === Compatibility types ===
  This section describes the various types of compatibility.
  ==== Java API  ====
@@ -24, +26 @@

   * Public-Stable API compatibility is required to ensure end-user programs and downstream
projects continue to work without any changes.
   * LimitedPrivate-Stable API compatibility is required to allow upgrade of individual components
across minor releases.
   * Private-Stable API compatibility is required for rolling upgrades.
+ ==== Semantics compatibility ====
+ Apache Hadoop strives to ensure that the behavior of APIs remains consistent over versions,
though changes for correctness may result in changes in behavior. That is: if you relied on
something which we consider to be a bug, it may get fixed.
+ We are in the process of specifying some APIs more rigorously, enhancing
+ our test suites to verify compliance with the specification, effectively
+ creating a formal specification for the subset of behaviors that can be
+ easily tested. We welcome involvement in this process, from both users and
+ implementors of our APIs.
  ==== Wire compatibility ====
  Wire compatibility concerns the data being transmitted over the wire between components.
Hadoop uses protocol buffers for most RPC communication. Preserving compatibility requires
prohibiting modification to the required fields of the corresponding protocol buffer. Optional
fields may be added without breaking backwards compatibility. The protocols can be categorized
as follows:

View raw message