Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # dev >> Binary API compatibility is not a requirement for any 0.98 release candidate


Copy link to this message
-
Re: Binary API compatibility is not a requirement for any 0.98 release candidate
I realize that this is an evolving product and that we will likely have to
break compatibility as we go. As long as these binary incompatibilities are
non-arbitrary, well documented, and part of a concerted effort (e.g. perf
optimization) to make improvements whose value to the user is greater than
that of having binary compat, then I'm fine with it.

On Tue, Feb 4, 2014 at 3:49 PM, lars hofhansl <[EMAIL PROTECTED]> wrote:

> For what's it worth, I agree with both of you. ;)
>
>
> - A binary compatibility issue should not sink a release.
> - If we want to clean up an API that would lead to an unavoidable binary
> compatibility issue, we should still do it and break binary compatibility.
>
> - If there's an easy fix to retain binary compatibility, let's put these
> in.
>
> As usual, just my $0.02.
>
>
> -- Lars
>
> ________________________________
> From: Jonathan Hsieh <[EMAIL PROTECTED]>
> To: Andrew Purtell <[EMAIL PROTECTED]>
> Cc: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>; lars hofhansl <
> [EMAIL PROTECTED]>; Andrew Purtell <[EMAIL PROTECTED]>
> Sent: Tuesday, February 4, 2014 3:25 PM
> Subject: Re: Binary API compatibility is not a requirement for any 0.98
> release candidate
>
>
> True. I think the difference here is that the KV stuff and comparator stuff
> was marked that InterfaceAudience.Private for 0.96, and Scan was
> InterfaceAudience.Public/InterfaceStability.Stable for 0.96.
>
> The stronger markings mean we should really enforce the deprecation policy
> in 0.98. .
>
> Jon.
>
>
> On Tue, Feb 4, 2014 at 3:18 PM, Andrew Purtell <[EMAIL PROTECTED]
> >wrote:
>
> > Jon,
> >
> > I find your "ship has sailed here" phrasing a bit odd because it was your
> > changes to KV comparators that kicked off the original discussion on
> binary
> > compatibility and, then, an agreement that binary API compat not be a
> > criteria for 0.98 releases. Otherwise it would have been. :-)
> >
> > On Feb 4, 2014, at 2:46 PM, Jonathan Hsieh <[EMAIL PROTECTED]> wrote:
> >
> > Andrew,
> >
> > I basically agree with lars here -- the ship has sailed here. However,
> > there are some patches that restored binary compat in places committed to
> > 0.98 already.  (IMO actually this would be an argument to fork earlier in
> > the future)
> >
> > I have some comments on HBASE-10460.  Specifically it is on a class that
> > is @InterfaceAudience.Public and @InterfaceStability.Stable -- and I
> think
> > they fix there should get into 0.98.
> >
> > Jon.
> >
> >
> >
> > On Mon, Feb 3, 2014 at 9:46 PM, lars hofhansl <[EMAIL PROTECTED]> wrote:
> >
> >> 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 <[EMAIL PROTECTED]>
> >> To: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
> >> Cc:
> >> 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

Best Regards,

Aleks Shulman
847.814.5804
Cloudera

 
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB