"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)
