"compatibility guarantees that are expected by people who subclass these
classes"

sorry if this is not the best thread for this discussion, but I just wanted
to pop in and say that since any subclassing of these will obviously not be
done within the kafka codebase - what guarantees are needed?

On Fri, Nov 25, 2016 at 11:13 PM, Michael Pearce <michael.pea...@ig.com>
wrote:

> As agreed that this should be purely a bug fix release for stability.
>
>
> I'd like to flag then we shouldn't be adding / merging in any Jira's that
> are not bugs.
>
> e.g. KAFKA-4438
>
>
> ________________________________________
> From: isma...@gmail.com <isma...@gmail.com> on behalf of Ismael Juma <
> ism...@juma.me.uk>
> Sent: Friday, November 25, 2016 11:43 AM
> To: dev@kafka.apache.org
> Subject: Re: [DISCUSS] 0.10.1.1 Plan
>
> Good, seems like we are in agreement about sticking to bug fixes for
> 0.10.1.1.
>
> Regarding the removal of final, I understand that it doesn't break
> backwards binary compatibility (it does break forwards compatibility and
> hence why it's more suited for feature releases; these are the same rules
> followed by the JDK and Scala).
>
> It's probably best to discuss this in another thread, but to clarify: the
> point I was making is that once you make a class non final, maintaining
> compatibility becomes more complex. You have to take into account that
> methods could have been overridden, for example. As such, some thought
> should be given to the scenarios under which classes can be extended, how
> we will ensure that we can evolve the class without breaking users, whether
> we want to make some methods final, whether we should add some
> documentation guiding users regarding good/bad examples of inheritance
> versus composition for these classes and so on. This is particularly
> important for core client classes exposed by the consumer and producer and
> it is the approach taken by projects that have a good track record with
> regards to maintaining compatibility for long periods of time. I didn't see
> much discussion or reasoning along the lines above for the
> ProducerRecord/ConsumerRecord change and hence my comment (even if it may
> actually me a good change once all is considered).
>
> Ismael
>
> On Thu, Nov 24, 2016 at 7:56 PM, Michael Pearce <michael.pea...@ig.com>
> wrote:
>
> > +1 it would be nice, and as is less restrive would not cause any issue.
> >
> > Saying that agree this is a fix build not a feature build.
> >
> > Sent using OWA for iPhone
> > ________________________________________
> > From: Rajini Sivaram <rajinisiva...@googlemail.com>
> > Sent: Thursday, November 24, 2016 12:17:13 PM
> > To: dev@kafka.apache.org
> > Subject: Re: [DISCUSS] 0.10.1.1 Plan
> >
> > Hi Ismael,
> >
> > OK, I do agree with you. At the moment, our code wraps these three
> classes
> > since they can't be extended. I recently noticed that two of the three
> are
> > now non-final in trunk. If all three were made non-final, we would like
> to
> > extend them,
> >
> > According to the Java specification:
> >
> > *Changing a class that is declared final to no longer be
> > declared final does not break compatibility with pre-existing binaries.*
> >
> >
> > So it shouldn't break anything. Perhaps that is the reason why KAFKA-4250
> > was merged (I hadn't even noticed it). It is not critical, so I am ok
> with
> > it not being in the patch release.
> >
> >
> > On Thu, Nov 24, 2016 at 11:43 AM, Ismael Juma <isma...@gmail.com> wrote:
> >
> > > Hi Rajini,
> > >
> > > I think we should avoid making changes like that in patch releases as
> it
> > > means that code that compiles with 0.10.1.1 may not compile with
> > 0.10.1.0.
> > > Since we now have frequent time based releases, I think it makes sense
> > for
> > > patch releases to only include bug fixes and test stability fixes.
> > >
> > > About the specific changes that you mention, I didn't see a discussion
> > > about compatibility guarantees that are expected by people who subclass
> > > these classes so I think it was a bit premature to merge the
> > ProducerRecord
> > > and ConsumerRecord final removal change.
> > >
> > > Ismael
> > >
> > > On 24 Nov 2016 10:26 am, "Rajini Sivaram" <
> rajinisiva...@googlemail.com>
> > > wrote:
> > >
> > > > Can we add KAFKA-4440 and KAFKA-4250 to the the list? They make
> > > > ProducerRecord/ConsumerRecord/RecordMetadata non-final so that they
> > can
> > > be
> > > > extended. The changes have minimal impact on the codebase, but will
> > > really
> > > > help when implementing other producers/consumers. It is not a
> bug-fix,
> > > but
> > > > if we are going to make the change, it will be good to have it in a
> > > release
> > > > soon.
> > > >
> > > > Thank you,
> > > >
> > > > Rajini
> > > >
> > > >
> > > > On Thu, Nov 24, 2016 at 4:36 AM, Bernard Leach <
> > leac...@bouncycastle.org
> > > >
> > > > wrote:
> > > >
> > > > > Hi Guozhang,
> > > > >
> > > > > I have added KAFKA-4438 to that list as that would enable
> publishing
> > > the
> > > > > scala 2.12 builds of 0.10.1.1.  There are other tasks in order to
> > > > actually
> > > > > publish a 2.12 but merging that change would enable that process.
> > > > There’s
> > > > > a corresponding PR on github that consists of a cherry-pick of the
> > > > > corresponding change from trunk.
> > > > >
> > > > > cheers,
> > > > > bern
> > > > >
> > > > > > On 24 Nov 2016, at 06:58, Guozhang Wang <wangg...@gmail.com>
> > wrote:
> > > > > >
> > > > > > Hi everyone,
> > > > > >
> > > > > > We have resolved 15 JIRAs including a few critical bugs in the
> > 0.10.1
> > > > > > branch since 0.10.1.0 was released so I'd like to propose to
> > release
> > > > > > 0.10.1.1 soon:
> > > > > >
> > > > > > https://issues.apache.org/jira/issues/?jql=project%20%
> > > > > 3D%20KAFKA%20AND%20resolution%20%3D%20Fixed%20AND%
> > > > > 20fixVersion%20%3D%200.10.1.1%20ORDER%20BY%20priority%
> > > > > 20DESC%2C%20key%20DESC
> > > > > >
> > > > > > There are still a few outstanding issues that are not unresolved
> > and
> > > > have
> > > > > > 0.10.1.1 as the target version:
> > > > > >
> > > > > > https://issues.apache.org/jira/issues/?jql=project%20%
> > > > > 3D%20KAFKA%20AND%20resolution%20%3D%20Unresolved%20AND%
> > > > > 20fixVersion%20%3D%200.10.1.1%20ORDER%20BY%20priority%
> > > > > 20DESC%2C%20key%20DESC
> > > > > >
> > > > > > Once we have resolved these issues I will start the release
> > process.
> > > > > >
> > > > > > --
> > > > > > -- Guozhang
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Regards,
> > > >
> > > > Rajini
> > > >
> > >
> >
> >
> >
> > --
> > Regards,
> >
> > Rajini
> > The information contained in this email is strictly confidential and for
> > the use of the addressee only, unless otherwise indicated. If you are not
> > the intended recipient, please do not read, copy, use or disclose to
> others
> > this message or any attachment. Please also notify the sender by replying
> > to this email or by telephone (+44(020 7896 0011) and then delete the
> > email and any copies of it. Opinions, conclusion (etc) that do not relate
> > to the official business of this company shall be understood as neither
> > given nor endorsed by it. IG is a trading name of IG Markets Limited (a
> > company registered in England and Wales, company number 04008957) and IG
> > Index Limited (a company registered in England and Wales, company number
> > 01190902). Registered address at Cannon Bridge House, 25 Dowgate Hill,
> > London EC4R 2YA. Both IG Markets Limited (register number 195355) and IG
> > Index Limited (register number 114059) are authorised and regulated by
> the
> > Financial Conduct Authority.
> >
> The information contained in this email is strictly confidential and for
> the use of the addressee only, unless otherwise indicated. If you are not
> the intended recipient, please do not read, copy, use or disclose to others
> this message or any attachment. Please also notify the sender by replying
> to this email or by telephone (+44(020 7896 0011) and then delete the email
> and any copies of it. Opinions, conclusion (etc) that do not relate to the
> official business of this company shall be understood as neither given nor
> endorsed by it. IG is a trading name of IG Markets Limited (a company
> registered in England and Wales, company number 04008957) and IG Index
> Limited (a company registered in England and Wales, company number
> 01190902). Registered address at Cannon Bridge House, 25 Dowgate Hill,
> London EC4R 2YA. Both IG Markets Limited (register number 195355) and IG
> Index Limited (register number 114059) are authorised and regulated by the
> Financial Conduct Authority.
>

Reply via email to