On Jan 5, 2010, at 2:06 PM, Owen O'Malley wrote:
> On Jan 5, 2010, at 11:29 AM, Todd Lipcon wrote:
> > 1) Although we certainly do not guarantee wire compatibility between
> > minor
> > versions (0.20 -> 0.21) have we previously implied wire
> > between bugfix releases?
> Correction. Pre-1.0, the 0.N to 0.N+1 is a major upgrade. After 1.0,
> 1.N to 1.N+1 is a minor. In both cases, X.Y.z to X.Y.z+1 is a patch
> I thought we had it documented somewhere, but can't find it. There is
> some discussion of compatibility in HADOOP-5071 that should be pulled
> out into a wiki page.
Hadoop-5071 documents the *proposed* post 1.0 rules quite well.
> The standing rules are that you don't incompatibly break APIs or wire
> protocols in patch release. So, this patch violates the rule and
> should have had a vote called before it was applied to branch-0.20.
> (And arguably branch-0.21, although since it hasn't been released, it
> isn't nearly the same level or problem.
> > 2) Is the above something we *should* be guaranteeing already?
> Patch releases:
> 1. Must be backwards API compatible without a client recompile.
> 2. Must be on the wire compatible.
> Exceptions require a vote of the committers. We should also put a
> notice of any exceptions at the top of the release notes.
This is also my understanding of the current rules.
For patch releases, the current pre-1.0 rules and the *proposed*
post-1.0 rules in Hadoop-5071 are the same - no breakage of APIs or
wire protocol in a patch release.