Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase, mail # dev - Does compatibility between versions also mean binary compatibility?


Copy link to this message
-
Re: Does compatibility between versions also mean binary compatibility?
Andrew Purtell 2013-04-04, 22:21
"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 <[EMAIL PROTECTED]>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)