hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lars hofhansl <la...@apache.org>
Subject Re: Binary API compatibility is not a requirement for any 0.98 release candidate
Date Tue, 04 Feb 2014 05:46:24 GMT
My $0.02...

Wire (client-server and server-server) compatibility is a must have.
Binary compatibility should be a best effort. I.e. we shouldn't go out of our way to break
things, but if we want to clean up an API we should do that.
So much for 0.98.

Going forward...

Once we go past version 1.0 and to semantic versioning this will need a bigger discussion.

As discussed in the past there are at least four angles here:
1. Client-server wire compatibility
2. Server-server wire compatibility
3. Client binary compatibility
4. Server interface binary compatibility (for coprocessors)

#4 is surprisingly important as it basically turns into a #1 problem when a project ships
with coprocessors.

Then we need to define compatibility rules for major/minor/patch versions.
In the last PMC meeting we had a start on this. We need to finish the details.

-- Lars

----- Original Message -----
From: Andrew Purtell <apurtell@apache.org>
To: "dev@hbase.apache.org" <dev@hbase.apache.org>
Sent: Monday, February 3, 2014 3:08 PM
Subject: Binary API compatibility is not a requirement for any 0.98 release candidate

If you would like to change this consensus now, we can do so, and add it as
a release criterion. That would require undoing the comparator cleanups and
related breaking changes that went in as HBASE-9245 and subtasks. So let's
not. I am -1 on making a change like this late in the day, after we have
already had two RCs and I am hoping to get a third out tomorrow.

Best regards,

   - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein
(via Tom White)

View raw message