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

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


Copy link to this message
-
Does compatibility between versions also mean binary compatibility?
Jean-Daniel Cryans 2013-04-04, 20:20
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
+
Andrew Purtell 2013-04-04, 22:21
+
Stack 2013-04-04, 22:48
+
lars hofhansl 2013-04-04, 22:59
+
Jean-Daniel Cryans 2013-04-04, 23:06
+
Stack 2013-04-05, 06:35
+
James Taylor 2013-04-04, 23:29
+
Andrew Purtell 2013-04-05, 00:53
+
James Taylor 2013-04-06, 20:11
+
Andrew Purtell 2013-04-09, 00:40
+
Enis Söztutar 2013-04-09, 03:02
+
Elliott Clark 2013-04-09, 04:49
+
Jean-Daniel Cryans 2013-04-15, 18:06
+
Jean-Daniel Cryans 2013-04-05, 17:12
+
Elliott Clark 2013-04-05, 23:06
+
Nick Dimiduk 2013-04-04, 22:06