hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Purtell <apurt...@apache.org>
Subject Re: Does compatibility between versions also mean binary compatibility?
Date Thu, 04 Apr 2013 22:21:05 GMT
"Compatible" implies both to my understanding of the term, unless
qualified.

I don't think we should qualify it. This looks like a regression to me.


On Thu, Apr 4, 2013 at 1:20 PM, Jean-Daniel Cryans <jdcryans@apache.org>wrote:

> tl;dr should two compatible versions be considered both wire and
> binary compatible or just the former?
>
> Hey devs,
>
> 0.92 is compatible with 0.94, meaning that you can run a client for
> either against the other and you can roll restart from 0.92 to 0.94.
>
> What about binary compatibility? Meaning, can you run user code
> compiled against 0.92 with 0.94's jars?
>
> Unfortunately, the answer is "no" in this case if you invoke setters
> on HColumnDescriptor as you'll get:
>
> java.lang.NoSuchMethodError:
> org.apache.hadoop.hbase.HColumnDescriptor.setMaxVersions(I)V
>
> HBASE-5357 "Use builder pattern in HColumnDescriptor" changed the
> method signatures by changing "void" to "HColumnDescriptor" so it' not
> the same methods anymore.
>
> I don't think we really had talks about binary compatibility before so
> this is why I'm raising it up now.
>
> Should "compatible" versions be just wire compatible or both wire and
> binary compatible? The latter means we need new tests. I think it
> should be both.
>
> What do you guys think?
>
> J-D
>



-- 
Best regards,

   - Andy

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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message