I don't think anybody from LinkedIn asked for features on this release.  We
just jumped in at the discussion of including a patch which was not a bug
fix and whether it mattered.

Having said that, the internal release we're working on came off the 0.10.1
branch with a few internal hotfix patches and a few cherry picked fixes...
Including the final keyword removal patch.

Nacho

On Tue, Nov 29, 2016, 5:15 PM Gwen Shapira <g...@confluent.io> wrote:

> btw. is LinkedIn no longer running from trunk? I'm not used to
> LinkedIn employees requesting specific patches to be included in a
> bugfix release.
>
> Any discussion on the content of any release is obviously welcome, I'm
> just wondering if there was a change in policy.
>
> On Tue, Nov 29, 2016 at 2:17 PM, Ismael Juma <ism...@juma.me.uk> wrote:
> > OK, so it seems like there are no changes that break compatibility in the
> > 0.10.1 branch since we offer no compatibility guarantees for logging
> > output. That's good. :)
> >
> > About the removal of final, it happened in trunk and it doesn't seem like
> > anyone is still asking for it to be included in the 0.10.1 branch so it
> is
> > indeed not important for this bug fix release (I thought we had
> established
> > that quite a while ago).
> >
> > Ismael
> >
> > On Tue, Nov 29, 2016 at 9:35 PM, Ignacio Solis <iso...@igso.net> wrote:
> >
> >> Sorry, that was a hasty reply.  There are also various logging things
> that
> >> change format. This could break parsers.
> >>
> >> None of them are important, my only argument is that the final keyword
> >> removal is not important either.
> >>
> >> Nacho
> >>
> >>
> >> On Tue, Nov 29, 2016 at 1:25 PM, Ignacio Solis <iso...@igso.net> wrote:
> >>
> >> > https://git-wip-us.apache.org/repos/asf?p=kafka.git;a=commit;h=
> >> > 10cfc1628df024f7596d3af5c168fa90f59035ca
> >> >
> >> > On Tue, Nov 29, 2016 at 1:24 PM, Ismael Juma <ism...@juma.me.uk>
> wrote:
> >> >
> >> >> Which changes break compatibility in the 0.10.1 branch? It would be
> good
> >> >> to
> >> >> fix before the release goes out.
> >> >>
> >> >> Ismael
> >> >>
> >> >> On 29 Nov 2016 9:09 pm, "Ignacio Solis" <iso...@igso.net> wrote:
> >> >>
> >> >> > Some of the changes in the 0.10.1 branch already are not bug fixes.
> >> Some
> >> >> > break compatibility.
> >> >> >
> >> >> > Having said that, at this level we should maintain a stable API and
> >> >> leave
> >> >> > any changes for real version bumps.  This should be only a bugfix
> >> >> release.
> >> >> >
> >> >> > Nacho
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> > On Tue, Nov 29, 2016 at 8:35 AM, Ismael Juma <ism...@juma.me.uk>
> >> wrote:
> >> >> >
> >> >> > > I disagree, but let's discuss it another time and in a separate
> >> >> thread.
> >> >> > :)
> >> >> > >
> >> >> > > Ismael
> >> >> > >
> >> >> > > On Tue, Nov 29, 2016 at 4:30 PM, radai <
> radai.rosenbl...@gmail.com>
> >> >> > wrote:
> >> >> > >
> >> >> > > > designing kafka code for stable extensibility is a worthy and
> >> noble
> >> >> > > cause.
> >> >> > > > however, seeing as there are no such derivatives out in the
> wild
> >> >> yet i
> >> >> > > > think investing the effort right now is a bit premature from
> >> kafka's
> >> >> > pov.
> >> >> > > > I think its enough simply not to purposefully prevent such
> >> >> extensions.
> >> >> > > >
> >> >> > > > On Tue, Nov 29, 2016 at 4:05 AM, Ismael Juma <
> ism...@juma.me.uk>
> >> >> > wrote:
> >> >> > > >
> >> >> > > > > On Sat, Nov 26, 2016 at 11:08 PM, radai <
> >> >> radai.rosenbl...@gmail.com>
> >> >> > > > > wrote:
> >> >> > > > >
> >> >> > > > > > "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?
> >> >> > > > > >
> >> >> > > > >
> >> >> > > > > I elaborated a little in my other message in this thread. A
> >> simple
> >> >> > and
> >> >> > > > > somewhat contrived example: `ConsumerRecord.toString` calls
> the
> >> >> > `topic`
> >> >> > > > > method. Someone overrides the `topic` method and it all
> works as
> >> >> > > > expected.
> >> >> > > > > In a subsequent release, we change `toString` to use the
> field
> >> >> > directly
> >> >> > > > > (like it's done for other fields like `key` and `value`) and
> it
> >> >> will
> >> >> > > > break
> >> >> > > > > `toString` for this user. One may wonder: why would one
> >> override a
> >> >> > > method
> >> >> > > > > like `topic`? That is a good question, but part of the
> exercise
> >> is
> >> >> > > > deciding
> >> >> > > > > how we approach these issues. We could make the methods final
> >> and
> >> >> > > > eliminate
> >> >> > > > > the possibility, we could document it so that users can
> choose
> >> to
> >> >> do
> >> >> > > > weird
> >> >> > > > > things if they want, etc.
> >> >> > > > >
> >> >> > > > > Another thing that is usually good to think about is the
> >> >> expectation
> >> >> > > for
> >> >> > > > > `equals` and `hashCode`. What if subclasses implement them to
> >> have
> >> >> > > value
> >> >> > > > > semantics instead of identity semantics. Is that OK or would
> it
> >> >> break
> >> >> > > > > things?
> >> >> > > > >
> >> >> > > > > Designing for implementation inheritance is generally complex
> >> >> > although
> >> >> > > > for
> >> >> > > > > simple "record" like classes, it can be easier by following a
> >> few
> >> >> > > > > guidelines.
> >> >> > > > >
> >> >> > > > > Ismael
> >> >> > > > >
> >> >> > > >
> >> >> > >
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > Nacho - Ignacio Solis - iso...@igso.net
> >> >> >
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Nacho - Ignacio Solis - iso...@igso.net
> >> >
> >>
> >>
> >>
> >> --
> >> Nacho - Ignacio Solis - iso...@igso.net
> >>
>
>
>
> --
> Gwen Shapira
> Product Manager | Confluent
> 650.450.2760 | @gwenshap
> Follow us: Twitter | blog
>

Reply via email to