Re: [DISCUSS] Java 8 as a minimum requirement

2016-08-16 Thread Alexis Midon
java7 is end of life. http://www.oracle.com/technetwork/java/eol-135779.html
+1



On Tue, Aug 16, 2016 at 6:43 AM Ismael Juma  wrote:

> Hey Harsha,
>
> I noticed that you proposed that Storm should drop support for Java 7 in
> master:
>
> http://markmail.org/message/25do6wd3a6g7cwpe
>
> It's useful to know what other Apache projects are doing in this regard, so
> I'm interested in the timeline being proposed for Storm's transition. I
> could not find it in the thread above, so I'd appreciate it if you could
> clarify it for us (and sorry if I missed it).
>
> Thanks,
> Ismael
>
> On Mon, Jun 20, 2016 at 5:05 AM, Harsha  wrote:
>
> > Hi Ismael,
> >   Agree on timing is more important. If we give enough heads
> >   up to the users who are on Java 7 thats great but still
> >   shipping this in 0.10.x line is won't be good as it still
> >   perceived as maint release even the release might contain
> >   lot of features .  If we can make this as part of 0.11 and
> >   cutting 0.10.1 features moving to 0.11 and giving rough
> >   timeline when that would be released would be ideal.
> >
> > Thanks,
> > Harsha
> >
> > On Fri, Jun 17, 2016, at 11:13 AM, Ismael Juma wrote:
> > > Hi Harsha,
> > >
> > > Comments below.
> > >
> > > On Fri, Jun 17, 2016 at 7:48 PM, Harsha  wrote:
> > >
> > > > Hi Ismael,
> > > > "Are you saying that you are aware of many Kafka users still
> > > > using Java 7
> > > > > who would be ready to upgrade to the next Kafka feature release
> > (whatever
> > > > > that version number is) before they can upgrade to Java 8?"
> > > > I know there quite few users who are still on java 7
> > >
> > >
> > > This is good to know.
> > >
> > >
> > > > and regarding the
> > > > upgrade we can't say Yes or no.  Its upto the user discretion when
> they
> > > > choose to upgrade and ofcourse if there are any critical fixes that
> > > > might go into the release.  We shouldn't be restricting their upgrade
> > > > path just because we removed Java 7 support.
> > > >
> > >
> > > My point is that both paths have their pros and cons and we need to
> weigh
> > > them up. If some users are slow to upgrade the Java version (Java 7 has
> > > been EOL'd for over a year), there's a good chance that they are slow
> to
> > > upgrade Kafka too. And if that is the case (and it may not be), then
> > > holding up improvements for the ones who actually do upgrade may be the
> > > wrong call. To be clear, I am still in listening mode and I haven't
> made
> > > up
> > > my mind on the subject.
> > >
> > > Once we released 0.9.0 there aren't any 0.8.x releases. i.e we don't
> > > > have LTS type release where we continually ship critical fixes over
> > > > 0.8.x minor releases. So if a user notices a critical fix the only
> > > > option today is to upgrade to next version where that fix is shipped.
> > > >
> > >
> > > We haven't done a great job at this in the past, but there is no
> decision
> > > that once a new major release is out, we don't do patch releases for
> the
> > > previous major release. In fact, we have been collecting critical fixes
> > > in
> > > the 0.9.0 branch for a potential 0.9.0.2.
> > >
> > > I understand there is no decision made yet but given the premise was to
> > > > ship this in 0.10.x  , possibly 0.10.1 which I don't agree with. In
> > > > general against shipping this in 0.10.x version. Removing Java 7
> > support
> > > > when the release is minor in general not a good idea to users.
> > > >
> > >
> > > Sorry if I didn't communicate this properly. I simply meant the next
> > > feature release. I used 0.10.1.0 as an example, but it could also be
> > > 0.11.0.0 if that turns out to be the next release. A discussion on that
> > > will probably take place once the scope is clear. Personally, I think
> the
> > > timing is more important the the version number, but it seems like some
> > > people disagree.
> > >
> > > Ismael
> >
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-08-16 Thread Ismael Juma
Hey Harsha,

I noticed that you proposed that Storm should drop support for Java 7 in
master:

http://markmail.org/message/25do6wd3a6g7cwpe

It's useful to know what other Apache projects are doing in this regard, so
I'm interested in the timeline being proposed for Storm's transition. I
could not find it in the thread above, so I'd appreciate it if you could
clarify it for us (and sorry if I missed it).

Thanks,
Ismael

On Mon, Jun 20, 2016 at 5:05 AM, Harsha  wrote:

> Hi Ismael,
>   Agree on timing is more important. If we give enough heads
>   up to the users who are on Java 7 thats great but still
>   shipping this in 0.10.x line is won't be good as it still
>   perceived as maint release even the release might contain
>   lot of features .  If we can make this as part of 0.11 and
>   cutting 0.10.1 features moving to 0.11 and giving rough
>   timeline when that would be released would be ideal.
>
> Thanks,
> Harsha
>
> On Fri, Jun 17, 2016, at 11:13 AM, Ismael Juma wrote:
> > Hi Harsha,
> >
> > Comments below.
> >
> > On Fri, Jun 17, 2016 at 7:48 PM, Harsha  wrote:
> >
> > > Hi Ismael,
> > > "Are you saying that you are aware of many Kafka users still
> > > using Java 7
> > > > who would be ready to upgrade to the next Kafka feature release
> (whatever
> > > > that version number is) before they can upgrade to Java 8?"
> > > I know there quite few users who are still on java 7
> >
> >
> > This is good to know.
> >
> >
> > > and regarding the
> > > upgrade we can't say Yes or no.  Its upto the user discretion when they
> > > choose to upgrade and ofcourse if there are any critical fixes that
> > > might go into the release.  We shouldn't be restricting their upgrade
> > > path just because we removed Java 7 support.
> > >
> >
> > My point is that both paths have their pros and cons and we need to weigh
> > them up. If some users are slow to upgrade the Java version (Java 7 has
> > been EOL'd for over a year), there's a good chance that they are slow to
> > upgrade Kafka too. And if that is the case (and it may not be), then
> > holding up improvements for the ones who actually do upgrade may be the
> > wrong call. To be clear, I am still in listening mode and I haven't made
> > up
> > my mind on the subject.
> >
> > Once we released 0.9.0 there aren't any 0.8.x releases. i.e we don't
> > > have LTS type release where we continually ship critical fixes over
> > > 0.8.x minor releases. So if a user notices a critical fix the only
> > > option today is to upgrade to next version where that fix is shipped.
> > >
> >
> > We haven't done a great job at this in the past, but there is no decision
> > that once a new major release is out, we don't do patch releases for the
> > previous major release. In fact, we have been collecting critical fixes
> > in
> > the 0.9.0 branch for a potential 0.9.0.2.
> >
> > I understand there is no decision made yet but given the premise was to
> > > ship this in 0.10.x  , possibly 0.10.1 which I don't agree with. In
> > > general against shipping this in 0.10.x version. Removing Java 7
> support
> > > when the release is minor in general not a good idea to users.
> > >
> >
> > Sorry if I didn't communicate this properly. I simply meant the next
> > feature release. I used 0.10.1.0 as an example, but it could also be
> > 0.11.0.0 if that turns out to be the next release. A discussion on that
> > will probably take place once the scope is clear. Personally, I think the
> > timing is more important the the version number, but it seems like some
> > people disagree.
> >
> > Ismael
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-07-11 Thread Pete Wright
On Fri, Jun 17, 2016 at 12:02:17AM +0200, jan.o...@wooga.net wrote:
> 
> Hi Ismael,
> 
> Unfortunately Java 8 doesn't play nice with FreeBSD. We have seen a lot of 
> JVM crashes running our 0.9 brokers on Java 8... Java 7 on the other hand is 
> totally stable. 
> 
> Until these issues have been addressed, this would cause some serious issues 
> for us.
> 
I can second this on the FreeBSD front.

-pete


-- 
Pete Wright
Lead Systems Architect
Rubicon Project
pwri...@rubiconproject.com
310.309.9298


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-21 Thread Damian Guy
+1

On Tue, 21 Jun 2016 at 09:59 Marcus Gründler 
wrote:

> Hi Ismael,
>
> thanks for the pointer to the latest WebSphere documentation - I wasn’t
> aware
> of that release.
>
> We currently have customers that run our software frontend on an older
> WebSphere version that runs on Java 7 and push data to kafka brokers in the
> backend. Replacing Kafka brokers wouldn’t be an issue here since we are in
> control of the backend part.
>
> The WebSphere server where our frontend part (and therefore our kafka
> client)
> is running is a kind of general infrastructure of that customer and upgrade
> cycles are slow and independent of our release cycles.
>
> Of course that could be solved by a kind of proxy in front of the kafka
> brokers,
> so maybe we shouldn’t pay too much tribute to legacy systems :-)
>
> Regards, Marcus
>
>
> > Am 17.06.2016 um 15:44 schrieb Ismael Juma :
> >
> > Hi Marcus,
> >
> > Thanks for your feedback.
> >
> > With regards to IBM WebSphere, the latest stable release (8.5.5) supports
> > Java 8 according to the documentation:
> >
> > http://www-01.ibm.com/support/docview.wss?uid=swg27005002
> >
> > Having said that, it is fair to discuss servers and clients separately.
> In
> > Kafka, you can't use newer clients with older brokers, but you can use
> > older clients with newer brokers. As such, the scenario we're talking
> about
> > is that of users who can upgrade their brokers and clients to the latest
> > Kafka version, but are stuck with an older version of WebSphere, right?
> Are
> > you aware of such users?
> >
> > Ismael
> > On Fri, Jun 17, 2016 at 10:34 AM, Marcus Gründler <
> > marcus.gruend...@aixigo.de> wrote:
> >
> >> -1
> >> Hi Ismael,
> >>
> >> Although I really like the Java 8 features and understand the advantages
> >> you
> >> mentioned about Java 8 migration, I would suggest to stay with Java 7 as
> >> a minimum requirement for a while.
> >>
> >> I think there are two aspects to consider - Kafka Server and Kafka
> >> clients. On
> >> the server part it would make sense to switch to Java 8 because you can
> run
> >> the broker independently from any enclosing runtime (no JEE server etc.)
> >>
> >> But if you change the requirement for Kafka clients, you would cut Kafka
> >> support for quite a lot of real world deployments that run for example
> on
> >> an IBM WebSphere JEE Server (*sigh*). Since up to today there is no
> >> WebSphere version that supports Java 8.
> >>
> >> And I think a split of Kafka server with Java8 and Kafka client JARs in
> >> Java7
> >> would be too complicated to maintain.
> >>
> >> So my conclusion is - stay with Java 7 for a while.
> >>
> >> Regards, Marcus
> >>
> >>
> >>> Am 16.06.2016 um 22:45 schrieb Ismael Juma :
> >>>
> >>> Hi all,
> >>>
> >>> I would like to start a discussion on making Java 8 a minimum
> requirement
> >>> for Kafka's next feature release (let's say Kafka 0.10.1.0 for now).
> This
> >>> is the first discussion on the topic so the idea is to understand how
> >>> people feel about it. If people feel it's too soon, then we can pick up
> >> the
> >>> conversation again after Kafka 0.10.1.0. If the feedback is mostly
> >>> positive, I will start a vote thread.
> >>>
> >>> Let's start with some dates. Java 7 hasn't received public updates
> since
> >>> April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> >> scheduled
> >>> to be released in March 2017[3].
> >>>
> >>> The first argument for dropping support for Java 7 is that the last
> >> public
> >>> release by Oracle contains a large number of known security
> >>> vulnerabilities. The effectiveness of Kafka's security features is
> >> reduced
> >>> if the underlying runtime is not itself secure.
> >>>
> >>> The second argument for moving to Java 8 is that it adds a number of
> >>> compelling features:
> >>>
> >>> * Lambda expressions and method references (particularly useful for the
> >>> Kafka Streams DSL)
> >>> * Default methods (very useful for maintaining compatibility when
> adding
> >>> methods to interfaces)
> >>> * java.util.stream (helpful for making collection transformations more
> >>> concise)
> >>> * Lots of improvements to java.util.concurrent (CompletableFuture,
> >>> DoubleAdder, DoubleAccumulator, StampedLock, LongAdder,
> LongAccumulator)
> >>> * Other nice things: SplittableRandom, Optional (and many others I have
> >> not
> >>> mentioned)
> >>>
> >>> The third argument is that it will simplify our testing matrix, we
> won't
> >>> have to test with Java 7 any longer (this is particularly useful for
> >> system
> >>> tests that take hours to run). It will also make it easier to support
> >> Scala
> >>> 2.12, which requires Java 8.
> >>>
> >>> The fourth argument is that many other open-source projects have taken
> >> the
> >>> leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop
> 3[7],
> >>> Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android
> 

Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-21 Thread Marcus Gründler
Hi Ismael,

thanks for the pointer to the latest WebSphere documentation - I wasn’t aware 
of that release.

We currently have customers that run our software frontend on an older 
WebSphere version that runs on Java 7 and push data to kafka brokers in the 
backend. Replacing Kafka brokers wouldn’t be an issue here since we are in 
control of the backend part.

The WebSphere server where our frontend part (and therefore our kafka client) 
is running is a kind of general infrastructure of that customer and upgrade 
cycles are slow and independent of our release cycles.

Of course that could be solved by a kind of proxy in front of the kafka 
brokers, 
so maybe we shouldn’t pay too much tribute to legacy systems :-)

Regards, Marcus


> Am 17.06.2016 um 15:44 schrieb Ismael Juma :
> 
> Hi Marcus,
> 
> Thanks for your feedback.
> 
> With regards to IBM WebSphere, the latest stable release (8.5.5) supports
> Java 8 according to the documentation:
> 
> http://www-01.ibm.com/support/docview.wss?uid=swg27005002
> 
> Having said that, it is fair to discuss servers and clients separately. In
> Kafka, you can't use newer clients with older brokers, but you can use
> older clients with newer brokers. As such, the scenario we're talking about
> is that of users who can upgrade their brokers and clients to the latest
> Kafka version, but are stuck with an older version of WebSphere, right? Are
> you aware of such users?
> 
> Ismael
> On Fri, Jun 17, 2016 at 10:34 AM, Marcus Gründler <
> marcus.gruend...@aixigo.de> wrote:
> 
>> -1
>> Hi Ismael,
>> 
>> Although I really like the Java 8 features and understand the advantages
>> you
>> mentioned about Java 8 migration, I would suggest to stay with Java 7 as
>> a minimum requirement for a while.
>> 
>> I think there are two aspects to consider - Kafka Server and Kafka
>> clients. On
>> the server part it would make sense to switch to Java 8 because you can run
>> the broker independently from any enclosing runtime (no JEE server etc.)
>> 
>> But if you change the requirement for Kafka clients, you would cut Kafka
>> support for quite a lot of real world deployments that run for example on
>> an IBM WebSphere JEE Server (*sigh*). Since up to today there is no
>> WebSphere version that supports Java 8.
>> 
>> And I think a split of Kafka server with Java8 and Kafka client JARs in
>> Java7
>> would be too complicated to maintain.
>> 
>> So my conclusion is - stay with Java 7 for a while.
>> 
>> Regards, Marcus
>> 
>> 
>>> Am 16.06.2016 um 22:45 schrieb Ismael Juma :
>>> 
>>> Hi all,
>>> 
>>> I would like to start a discussion on making Java 8 a minimum requirement
>>> for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
>>> is the first discussion on the topic so the idea is to understand how
>>> people feel about it. If people feel it's too soon, then we can pick up
>> the
>>> conversation again after Kafka 0.10.1.0. If the feedback is mostly
>>> positive, I will start a vote thread.
>>> 
>>> Let's start with some dates. Java 7 hasn't received public updates since
>>> April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
>> scheduled
>>> to be released in March 2017[3].
>>> 
>>> The first argument for dropping support for Java 7 is that the last
>> public
>>> release by Oracle contains a large number of known security
>>> vulnerabilities. The effectiveness of Kafka's security features is
>> reduced
>>> if the underlying runtime is not itself secure.
>>> 
>>> The second argument for moving to Java 8 is that it adds a number of
>>> compelling features:
>>> 
>>> * Lambda expressions and method references (particularly useful for the
>>> Kafka Streams DSL)
>>> * Default methods (very useful for maintaining compatibility when adding
>>> methods to interfaces)
>>> * java.util.stream (helpful for making collection transformations more
>>> concise)
>>> * Lots of improvements to java.util.concurrent (CompletableFuture,
>>> DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
>>> * Other nice things: SplittableRandom, Optional (and many others I have
>> not
>>> mentioned)
>>> 
>>> The third argument is that it will simplify our testing matrix, we won't
>>> have to test with Java 7 any longer (this is particularly useful for
>> system
>>> tests that take hours to run). It will also make it easier to support
>> Scala
>>> 2.12, which requires Java 8.
>>> 
>>> The fourth argument is that many other open-source projects have taken
>> the
>>> leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
>>> Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
>>> support Java 8 in the next version (although it will take a while before
>>> most phones will use that version sadly). This reduces (but does not
>>> eliminate) the chance that we would be the first project that would
>> cause a
>>> user to consider a Java upgrade.
>>> 
>>> The main argument for not making the 

Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-20 Thread Ismael Juma
Hi Joe,

Thanks for your feedback.

Compatibility is a complex subject and the exact details need to be defined
for each project. Technically, one could claim that making changes so that
a 0.10.1.0 client doesn't work with a 0.10.0.0 broker would be an
incompatible change and should not be allowed, but we don't have such a
rule for Kafka today. Bumping the minimum required Java version could be
seen as an incompatible change that needs a major release or not since
users don't have to change or recompile their code (as I mentioned
elsewhere, Akka 2.4.0 is fully compatible apart from the bump in the JDK
version).

For what is worth, the Java 6 to Java 7 transition in Kafka (KAFKA-2316)
was proposed in July of last year by Harsha in the middle of the 0.8.3
cycle and it was approved. The rename of 0.8.3 to 0.9.0 was only raised in
September by Gwen and the reasons given were:

"What do you think of making the next release (the one with security, new
consumer, quotas, etc) a 0.9.0 instead of 0.8.3?

It has lots of new features, and new consumer was pretty much scoped for
0.9.0, so it matches our original roadmap. I feel that so many awesome
features deserve a better release number."

No Java bump mentioned there or elsewhere I could see. So, it seems like
this is a new rule we are trying to introduce. Which is not necessarily an
issue, but it's important to make it clear.

Ismael

On Fri, Jun 17, 2016 at 3:38 PM, Joe Stein <joe.st...@stealth.ly> wrote:

> Compatibility shouldn't be broken in a minor release. Minor versions are
> for new features in a backwards-compatible manner. The Kafka bylaws do not
> explicitly state this but I believe it is implied based on general practice
> and so many other Apache projects explicitly calling this out, documenting
> and communicating their semantic version strategy.
>
> If JDK8 is so much desired then jump to 0.11 and only do bug fixes on the
> 0.10 release (which should be rigorous and not forceful to make folks
> upgrade unnecessarily to get such improvements).
>
> My 0.2824152382 cents.
>
> Regards,
>
> ~ Joe Stein
>
> On Fri, Jun 17, 2016 at 8:53 AM, Marina <ppi...@yahoo.com.invalid> wrote:
>
> > +1 - wish it was already done with Kafka 0.9 version :)
> >
> >
> >   From: Tommy Becker <tobec...@tivo.com>
> >  To: users@kafka.apache.org
> >  Sent: Friday, June 17, 2016 7:55 AM
> >  Subject: Re: [DISCUSS] Java 8 as a minimum requirement
> >
> > +1 We're on Java 8 already.
> >
> > On 06/16/2016 04:45 PM, Ismael Juma wrote:
> >
> > Hi all,
> >
> > I would like to start a discussion on making Java 8 a minimum requirement
> > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> > is the first discussion on the topic so the idea is to understand how
> > people feel about it. If people feel it's too soon, then we can pick up
> the
> > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > positive, I will start a vote thread.
> >
> > Let's start with some dates. Java 7 hasn't received public updates since
> > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> scheduled
> > to be released in March 2017[3].
> >
> > The first argument for dropping support for Java 7 is that the last
> public
> > release by Oracle contains a large number of known security
> > vulnerabilities. The effectiveness of Kafka's security features is
> reduced
> > if the underlying runtime is not itself secure.
> >
> > The second argument for moving to Java 8 is that it adds a number of
> > compelling features:
> >
> > * Lambda expressions and method references (particularly useful for the
> > Kafka Streams DSL)
> > * Default methods (very useful for maintaining compatibility when adding
> > methods to interfaces)
> > * java.util.stream (helpful for making collection transformations more
> > concise)
> > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> > * Other nice things: SplittableRandom, Optional (and many others I have
> not
> > mentioned)
> >
> > The third argument is that it will simplify our testing matrix, we won't
> > have to test with Java 7 any longer (this is particularly useful for
> system
> > tests that take hours to run). It will also make it easier to support
> Scala
> > 2.12, which requires Java 8.
> >
> > The fourth argument is that many other open-source projects have taken
> the
> > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. E

Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-19 Thread Harsha
Hi Ismael,
  Agree on timing is more important. If we give enough heads
  up to the users who are on Java 7 thats great but still
  shipping this in 0.10.x line is won't be good as it still
  perceived as maint release even the release might contain
  lot of features .  If we can make this as part of 0.11 and
  cutting 0.10.1 features moving to 0.11 and giving rough
  timeline when that would be released would be ideal.

Thanks,
Harsha

On Fri, Jun 17, 2016, at 11:13 AM, Ismael Juma wrote:
> Hi Harsha,
> 
> Comments below.
> 
> On Fri, Jun 17, 2016 at 7:48 PM, Harsha  wrote:
> 
> > Hi Ismael,
> > "Are you saying that you are aware of many Kafka users still
> > using Java 7
> > > who would be ready to upgrade to the next Kafka feature release (whatever
> > > that version number is) before they can upgrade to Java 8?"
> > I know there quite few users who are still on java 7
> 
> 
> This is good to know.
> 
> 
> > and regarding the
> > upgrade we can't say Yes or no.  Its upto the user discretion when they
> > choose to upgrade and ofcourse if there are any critical fixes that
> > might go into the release.  We shouldn't be restricting their upgrade
> > path just because we removed Java 7 support.
> >
> 
> My point is that both paths have their pros and cons and we need to weigh
> them up. If some users are slow to upgrade the Java version (Java 7 has
> been EOL'd for over a year), there's a good chance that they are slow to
> upgrade Kafka too. And if that is the case (and it may not be), then
> holding up improvements for the ones who actually do upgrade may be the
> wrong call. To be clear, I am still in listening mode and I haven't made
> up
> my mind on the subject.
> 
> Once we released 0.9.0 there aren't any 0.8.x releases. i.e we don't
> > have LTS type release where we continually ship critical fixes over
> > 0.8.x minor releases. So if a user notices a critical fix the only
> > option today is to upgrade to next version where that fix is shipped.
> >
> 
> We haven't done a great job at this in the past, but there is no decision
> that once a new major release is out, we don't do patch releases for the
> previous major release. In fact, we have been collecting critical fixes
> in
> the 0.9.0 branch for a potential 0.9.0.2.
> 
> I understand there is no decision made yet but given the premise was to
> > ship this in 0.10.x  , possibly 0.10.1 which I don't agree with. In
> > general against shipping this in 0.10.x version. Removing Java 7 support
> > when the release is minor in general not a good idea to users.
> >
> 
> Sorry if I didn't communicate this properly. I simply meant the next
> feature release. I used 0.10.1.0 as an example, but it could also be
> 0.11.0.0 if that turns out to be the next release. A discussion on that
> will probably take place once the scope is clear. Personally, I think the
> timing is more important the the version number, but it seems like some
> people disagree.
> 
> Ismael


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Ismael Juma
Hi Harsha,

Comments below.

On Fri, Jun 17, 2016 at 7:48 PM, Harsha  wrote:

> Hi Ismael,
> "Are you saying that you are aware of many Kafka users still
> using Java 7
> > who would be ready to upgrade to the next Kafka feature release (whatever
> > that version number is) before they can upgrade to Java 8?"
> I know there quite few users who are still on java 7


This is good to know.


> and regarding the
> upgrade we can't say Yes or no.  Its upto the user discretion when they
> choose to upgrade and ofcourse if there are any critical fixes that
> might go into the release.  We shouldn't be restricting their upgrade
> path just because we removed Java 7 support.
>

My point is that both paths have their pros and cons and we need to weigh
them up. If some users are slow to upgrade the Java version (Java 7 has
been EOL'd for over a year), there's a good chance that they are slow to
upgrade Kafka too. And if that is the case (and it may not be), then
holding up improvements for the ones who actually do upgrade may be the
wrong call. To be clear, I am still in listening mode and I haven't made up
my mind on the subject.

Once we released 0.9.0 there aren't any 0.8.x releases. i.e we don't
> have LTS type release where we continually ship critical fixes over
> 0.8.x minor releases. So if a user notices a critical fix the only
> option today is to upgrade to next version where that fix is shipped.
>

We haven't done a great job at this in the past, but there is no decision
that once a new major release is out, we don't do patch releases for the
previous major release. In fact, we have been collecting critical fixes in
the 0.9.0 branch for a potential 0.9.0.2.

I understand there is no decision made yet but given the premise was to
> ship this in 0.10.x  , possibly 0.10.1 which I don't agree with. In
> general against shipping this in 0.10.x version. Removing Java 7 support
> when the release is minor in general not a good idea to users.
>

Sorry if I didn't communicate this properly. I simply meant the next
feature release. I used 0.10.1.0 as an example, but it could also be
0.11.0.0 if that turns out to be the next release. A discussion on that
will probably take place once the scope is clear. Personally, I think the
timing is more important the the version number, but it seems like some
people disagree.

Ismael


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Harsha
Hi Ismael,
"Are you saying that you are aware of many Kafka users still
using Java 7
> who would be ready to upgrade to the next Kafka feature release (whatever
> that version number is) before they can upgrade to Java 8?"
I know there quite few users who are still on java 7 and regarding the
upgrade we can't say Yes or no.  Its upto the user discretion when they
choose to upgrade and ofcourse if there are any critical fixes that
might go into the release.  We shouldn't be restricting their upgrade
path just because we removed Java 7 support.

"The 0.10.1 versus 0.11.0.0 is something that can be discussed
separately
> as
> no decision has been made on what the next version will be (we did go
> straight from 0.9.0 to 0.10.0 whereas the 0.8.x series had multiple minor
> releases)"
Once we released 0.9.0 there aren't any 0.8.x releases. i.e we don't
have LTS type release where we continually ship critical fixes over
0.8.x minor releases. So if a user notices a critical fix the only
option today is to upgrade to next version where that fix is shipped.

"no decision has been made on what the next version will be (we did go
> straight from 0.9.0 to 0.10.0 whereas the 0.8.x series had multiple minor
> releases). 

I understand there is no decision made yet but given the premise was to
ship this in 0.10.x  , possibly 0.10.1 which I don't agree with. In
general against shipping this in 0.10.x version. Removing Java 7 support
when the release is minor in general not a good idea to users. 
-Harsha

"Also note that Kafka bug fixes go to 0.10.0.1, not 0.10.1 and
> 0.10.0.x would still be available for users using Java 7."


On Fri, Jun 17, 2016, at 12:18 AM, Ismael Juma wrote:
> Hi Harsha,
> 
> Are you saying that you are aware of many Kafka users still using Java 7
> who would be ready to upgrade to the next Kafka feature release (whatever
> that version number is) before they can upgrade to Java 8?
> 
> The 0.10.1 versus 0.11.0.0 is something that can be discussed separately
> as
> no decision has been made on what the next version will be (we did go
> straight from 0.9.0 to 0.10.0 whereas the 0.8.x series had multiple minor
> releases). Also note that Kafka bug fixes go to 0.10.0.1, not 0.10.1 and
> 0.10.0.x would still be available for users using Java 7.
> 
> Ismael
> 
> On Fri, Jun 17, 2016 at 12:48 AM, Harsha  wrote:
> 
> > -1 on removing suport 0.10.1.0 . This is minor release and removing
> > support JDK 1.7 which lot of users still depend on not a good idea and
> > definitely they are not getting enough heads up to migrate their other
> > services to JDK1.7.
> > We can consider this for 0.11.0 release time line again depends on the
> > dates .
> >
> > Thanks,
> > Harsha
> >
> > On Thu, Jun 16, 2016, at 03:08 PM, Ismael Juma wrote:
> > > Hi Jan,
> > >
> > > That's interesting. Do you have some references you can share on this? It
> > > would be good to know which Java 8 versions have been tested and whether
> > > it
> > > is something that is being worked on.
> > >
> > > Ismael
> > >
> > > On Fri, Jun 17, 2016 at 12:02 AM,  wrote:
> > >
> > > >
> > > > Hi Ismael,
> > > >
> > > > Unfortunately Java 8 doesn't play nice with FreeBSD. We have seen a
> > lot of
> > > > JVM crashes running our 0.9 brokers on Java 8... Java 7 on the other
> > hand
> > > > is totally stable.
> > > >
> > > > Until these issues have been addressed, this would cause some serious
> > > > issues for us.
> > > >
> > > > Regards
> > > >
> > > > Jan
> >


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Tom Crayford
+1

We can't promise security features whilst using a deprecated version of the
JDK and relying on it for underlying security functionality (e.g. SSL).
This impacts both clients and brokers. Java 7 has been deprecated for over
a year, and software that isn't up to date with that is at fault with
respect to comparability.

On Friday, 17 June 2016, Ofir Manor  wrote:

>  I also think that Kafka should drop java 7 and scala 2.10 already.
> However, I expect Kafka (or any other project) to do it in two steps:
> 1. announce NOW that both of them are deprecated in the 0.10 series and
> will be dropped in the next major release.
> 2. drop them a the next major release.
> (ideally, the announcement should have been part of the 0.10.0 release
> notes, but any early warning is better than none)
>
> Regarding clients - if clients are 0.10 and broker is 0.11, which new 0.11
> functionality is lost? Does THAT worth a deadline extension for clients
> only? Can support for some missing functionality be backported to 0.10.x
> clients if deemed critical? (don't have an answer, but this is the right
> question IMHO)
>
>
> Ofir Manor
>
> Co-Founder & CTO | Equalum
>
> Mobile: +972-54-7801286 | Email: ofir.ma...@equalum.io 
>
> On Thu, Jun 16, 2016 at 11:45 PM, Ismael Juma  > wrote:
>
> > Hi all,
> >
> > I would like to start a discussion on making Java 8 a minimum requirement
> > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> > is the first discussion on the topic so the idea is to understand how
> > people feel about it. If people feel it's too soon, then we can pick up
> the
> > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > positive, I will start a vote thread.
> >
> > Let's start with some dates. Java 7 hasn't received public updates since
> > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> scheduled
> > to be released in March 2017[3].
> >
> > The first argument for dropping support for Java 7 is that the last
> public
> > release by Oracle contains a large number of known security
> > vulnerabilities. The effectiveness of Kafka's security features is
> reduced
> > if the underlying runtime is not itself secure.
> >
> > The second argument for moving to Java 8 is that it adds a number of
> > compelling features:
> >
> > * Lambda expressions and method references (particularly useful for the
> > Kafka Streams DSL)
> > * Default methods (very useful for maintaining compatibility when adding
> > methods to interfaces)
> > * java.util.stream (helpful for making collection transformations more
> > concise)
> > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> > * Other nice things: SplittableRandom, Optional (and many others I have
> not
> > mentioned)
> >
> > The third argument is that it will simplify our testing matrix, we won't
> > have to test with Java 7 any longer (this is particularly useful for
> system
> > tests that take hours to run). It will also make it easier to support
> Scala
> > 2.12, which requires Java 8.
> >
> > The fourth argument is that many other open-source projects have taken
> the
> > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> > support Java 8 in the next version (although it will take a while before
> > most phones will use that version sadly). This reduces (but does not
> > eliminate) the chance that we would be the first project that would
> cause a
> > user to consider a Java upgrade.
> >
> > The main argument for not making the change is that a reasonable number
> of
> > users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> > More specifically, we care about the subset who would be able to upgrade
> to
> > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It
> would
> > be great if we could quantify this in some way.
> >
> > What do you think?
> >
> > Ismael
> >
> > [1] https://java.com/en/download/faq/java_7.xml
> > [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > [3] http://openjdk.java.net/projects/jdk9/
> > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> > [7] https://issues.apache.org/jira/browse/HADOOP-11858
> > [8] https://webtide.com/jetty-9-3-features/
> > [9] http://markmail.org/message/l7s276y3xkga2eqf
> > [10]
> >
> >
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> > [11] http://markmail.org/message/l7s276y3xkga2eqf
> >
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Ismael Juma
Hi Marcus,

Thanks for your feedback.

With regards to IBM WebSphere, the latest stable release (8.5.5) supports
Java 8 according to the documentation:

http://www-01.ibm.com/support/docview.wss?uid=swg27005002

Having said that, it is fair to discuss servers and clients separately. In
Kafka, you can't use newer clients with older brokers, but you can use
older clients with newer brokers. As such, the scenario we're talking about
is that of users who can upgrade their brokers and clients to the latest
Kafka version, but are stuck with an older version of WebSphere, right? Are
you aware of such users?

Ismael
On Fri, Jun 17, 2016 at 10:34 AM, Marcus Gründler <
marcus.gruend...@aixigo.de> wrote:

> -1
> Hi Ismael,
>
> Although I really like the Java 8 features and understand the advantages
> you
> mentioned about Java 8 migration, I would suggest to stay with Java 7 as
> a minimum requirement for a while.
>
> I think there are two aspects to consider - Kafka Server and Kafka
> clients. On
> the server part it would make sense to switch to Java 8 because you can run
> the broker independently from any enclosing runtime (no JEE server etc.)
>
> But if you change the requirement for Kafka clients, you would cut Kafka
> support for quite a lot of real world deployments that run for example on
> an IBM WebSphere JEE Server (*sigh*). Since up to today there is no
> WebSphere version that supports Java 8.
>
> And I think a split of Kafka server with Java8 and Kafka client JARs in
> Java7
> would be too complicated to maintain.
>
> So my conclusion is - stay with Java 7 for a while.
>
> Regards, Marcus
>
>
> > Am 16.06.2016 um 22:45 schrieb Ismael Juma :
> >
> > Hi all,
> >
> > I would like to start a discussion on making Java 8 a minimum requirement
> > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> > is the first discussion on the topic so the idea is to understand how
> > people feel about it. If people feel it's too soon, then we can pick up
> the
> > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > positive, I will start a vote thread.
> >
> > Let's start with some dates. Java 7 hasn't received public updates since
> > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> scheduled
> > to be released in March 2017[3].
> >
> > The first argument for dropping support for Java 7 is that the last
> public
> > release by Oracle contains a large number of known security
> > vulnerabilities. The effectiveness of Kafka's security features is
> reduced
> > if the underlying runtime is not itself secure.
> >
> > The second argument for moving to Java 8 is that it adds a number of
> > compelling features:
> >
> > * Lambda expressions and method references (particularly useful for the
> > Kafka Streams DSL)
> > * Default methods (very useful for maintaining compatibility when adding
> > methods to interfaces)
> > * java.util.stream (helpful for making collection transformations more
> > concise)
> > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> > * Other nice things: SplittableRandom, Optional (and many others I have
> not
> > mentioned)
> >
> > The third argument is that it will simplify our testing matrix, we won't
> > have to test with Java 7 any longer (this is particularly useful for
> system
> > tests that take hours to run). It will also make it easier to support
> Scala
> > 2.12, which requires Java 8.
> >
> > The fourth argument is that many other open-source projects have taken
> the
> > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> > support Java 8 in the next version (although it will take a while before
> > most phones will use that version sadly). This reduces (but does not
> > eliminate) the chance that we would be the first project that would
> cause a
> > user to consider a Java upgrade.
> >
> > The main argument for not making the change is that a reasonable number
> of
> > users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> > More specifically, we care about the subset who would be able to upgrade
> to
> > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It
> would
> > be great if we could quantify this in some way.
> >
> > What do you think?
> >
> > Ismael
> >
> > [1] https://java.com/en/download/faq/java_7.xml
> > [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > [3] http://openjdk.java.net/projects/jdk9/
> > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> > [7] https://issues.apache.org/jira/browse/HADOOP-11858
> > [8] https://webtide.com/jetty-9-3-features/
> > [9] 

Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Joe Stein
Compatibility shouldn't be broken in a minor release. Minor versions are
for new features in a backwards-compatible manner. The Kafka bylaws do not
explicitly state this but I believe it is implied based on general practice
and so many other Apache projects explicitly calling this out, documenting
and communicating their semantic version strategy.

If JDK8 is so much desired then jump to 0.11 and only do bug fixes on the
0.10 release (which should be rigorous and not forceful to make folks
upgrade unnecessarily to get such improvements).

My 0.2824152382 cents.

Regards,

~ Joe Stein

On Fri, Jun 17, 2016 at 8:53 AM, Marina <ppi...@yahoo.com.invalid> wrote:

> +1 - wish it was already done with Kafka 0.9 version :)
>
>
>   From: Tommy Becker <tobec...@tivo.com>
>  To: users@kafka.apache.org
>  Sent: Friday, June 17, 2016 7:55 AM
>  Subject: Re: [DISCUSS] Java 8 as a minimum requirement
>
> +1 We're on Java 8 already.
>
> On 06/16/2016 04:45 PM, Ismael Juma wrote:
>
> Hi all,
>
> I would like to start a discussion on making Java 8 a minimum requirement
> for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> is the first discussion on the topic so the idea is to understand how
> people feel about it. If people feel it's too soon, then we can pick up the
> conversation again after Kafka 0.10.1.0. If the feedback is mostly
> positive, I will start a vote thread.
>
> Let's start with some dates. Java 7 hasn't received public updates since
> April 2015[1], Java 8 was released in March 2014[2] and Java 9 is scheduled
> to be released in March 2017[3].
>
> The first argument for dropping support for Java 7 is that the last public
> release by Oracle contains a large number of known security
> vulnerabilities. The effectiveness of Kafka's security features is reduced
> if the underlying runtime is not itself secure.
>
> The second argument for moving to Java 8 is that it adds a number of
> compelling features:
>
> * Lambda expressions and method references (particularly useful for the
> Kafka Streams DSL)
> * Default methods (very useful for maintaining compatibility when adding
> methods to interfaces)
> * java.util.stream (helpful for making collection transformations more
> concise)
> * Lots of improvements to java.util.concurrent (CompletableFuture,
> DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> * Other nice things: SplittableRandom, Optional (and many others I have not
> mentioned)
>
> The third argument is that it will simplify our testing matrix, we won't
> have to test with Java 7 any longer (this is particularly useful for system
> tests that take hours to run). It will also make it easier to support Scala
> 2.12, which requires Java 8.
>
> The fourth argument is that many other open-source projects have taken the
> leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> support Java 8 in the next version (although it will take a while before
> most phones will use that version sadly). This reduces (but does not
> eliminate) the chance that we would be the first project that would cause a
> user to consider a Java upgrade.
>
> The main argument for not making the change is that a reasonable number of
> users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> More specifically, we care about the subset who would be able to upgrade to
> Kafka 0.10.1.0, but would not be able to upgrade the Java version. It would
> be great if we could quantify this in some way.
>
> What do you think?
>
> Ismael
>
> [1] https://java.com/en/download/faq/java_7.xml
> [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> [3] http://openjdk.java.net/projects/jdk9/
> [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> [7] https://issues.apache.org/jira/browse/HADOOP-11858
> [8] https://webtide.com/jetty-9-3-features/
> [9] http://markmail.org/message/l7s276y3xkga2eqf
> [10]
>
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> [11] http://markmail.org/message/l7s276y3xkga2eqf
>
>
>
> --
> Tommy Becker
> Senior Software Engineer
>
> Digitalsmiths
> A TiVo Company
>
> www.digitalsmiths.com<http://www.digitalsmiths.com>
> tobec...@tivo.com<mailto:tobec...@tivo.com>
>
> 
>
> This email and any attachments may contain confidential and privileged
> material for the sole use of the intended reci

Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Philippe Derome
Scala 2.12 requires JDK 8 to take advantage of JVM technology. Forcing
migration to JDK 8 explains to some extent the non rush to release 2.12. I
believe Adriaan Moors has a presentation detailing the 2.12 Scala release.
https://adriaanm.github.io/reveal.js/scala-next.html#/
On 17 Jun 2016 8:35 a.m., "Jeff Klukas"  wrote:

> On Thu, Jun 16, 2016 at 5:20 PM, Ismael Juma  wrote:
>
> > On Thu, Jun 16, 2016 at 11:13 PM, Stephen Boesch 
> > wrote:
> >
> > > @Jeff Klukas What is the concern about scala 2.11 vs 2.12?   2.11 runs
> on
> > > both java7 and java8
> > >
> >
> > Scala 2.10.5 and 2.10.6 also support Java 8 for what it's worth.
> >
>
> I was under the impression that Scala 2.12 would be the first version
> compatible with Java 8 bytecode, but looks like that was a misunderstanding
> on my part.
>
> +1
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Marina
+1 - wish it was already done with Kafka 0.9 version :)


  From: Tommy Becker <tobec...@tivo.com>
 To: users@kafka.apache.org 
 Sent: Friday, June 17, 2016 7:55 AM
 Subject: Re: [DISCUSS] Java 8 as a minimum requirement
   
+1 We're on Java 8 already.

On 06/16/2016 04:45 PM, Ismael Juma wrote:

Hi all,

I would like to start a discussion on making Java 8 a minimum requirement
for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
is the first discussion on the topic so the idea is to understand how
people feel about it. If people feel it's too soon, then we can pick up the
conversation again after Kafka 0.10.1.0. If the feedback is mostly
positive, I will start a vote thread.

Let's start with some dates. Java 7 hasn't received public updates since
April 2015[1], Java 8 was released in March 2014[2] and Java 9 is scheduled
to be released in March 2017[3].

The first argument for dropping support for Java 7 is that the last public
release by Oracle contains a large number of known security
vulnerabilities. The effectiveness of Kafka's security features is reduced
if the underlying runtime is not itself secure.

The second argument for moving to Java 8 is that it adds a number of
compelling features:

* Lambda expressions and method references (particularly useful for the
Kafka Streams DSL)
* Default methods (very useful for maintaining compatibility when adding
methods to interfaces)
* java.util.stream (helpful for making collection transformations more
concise)
* Lots of improvements to java.util.concurrent (CompletableFuture,
DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
* Other nice things: SplittableRandom, Optional (and many others I have not
mentioned)

The third argument is that it will simplify our testing matrix, we won't
have to test with Java 7 any longer (this is particularly useful for system
tests that take hours to run). It will also make it easier to support Scala
2.12, which requires Java 8.

The fourth argument is that many other open-source projects have taken the
leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
support Java 8 in the next version (although it will take a while before
most phones will use that version sadly). This reduces (but does not
eliminate) the chance that we would be the first project that would cause a
user to consider a Java upgrade.

The main argument for not making the change is that a reasonable number of
users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
More specifically, we care about the subset who would be able to upgrade to
Kafka 0.10.1.0, but would not be able to upgrade the Java version. It would
be great if we could quantify this in some way.

What do you think?

Ismael

[1] https://java.com/en/download/faq/java_7.xml
[2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
[3] http://openjdk.java.net/projects/jdk9/
[4] https://github.com/apache/cassandra/blob/trunk/README.asc
[5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
[6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
[7] https://issues.apache.org/jira/browse/HADOOP-11858
[8] https://webtide.com/jetty-9-3-features/
[9] http://markmail.org/message/l7s276y3xkga2eqf
[10]
https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
[11] http://markmail.org/message/l7s276y3xkga2eqf



--
Tommy Becker
Senior Software Engineer

Digitalsmiths
A TiVo Company

www.digitalsmiths.com<http://www.digitalsmiths.com>
tobec...@tivo.com<mailto:tobec...@tivo.com>



This email and any attachments may contain confidential and privileged material 
for the sole use of the intended recipient. Any review, copying, or 
distribution of this email (or any attachments) by others is prohibited. If you 
are not the intended recipient, please contact the sender immediately and 
permanently delete this email and any attachments. No employee or agent of TiVo 
Inc. is authorized to conclude any binding agreement on behalf of TiVo Inc. by 
email. Binding agreements with TiVo Inc. may only be made by a signed written 
agreement.

   

Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Jeff Klukas
On Thu, Jun 16, 2016 at 5:20 PM, Ismael Juma  wrote:

> On Thu, Jun 16, 2016 at 11:13 PM, Stephen Boesch 
> wrote:
>
> > @Jeff Klukas What is the concern about scala 2.11 vs 2.12?   2.11 runs on
> > both java7 and java8
> >
>
> Scala 2.10.5 and 2.10.6 also support Java 8 for what it's worth.
>

I was under the impression that Scala 2.12 would be the first version
compatible with Java 8 bytecode, but looks like that was a misunderstanding
on my part.

+1


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Philippe Derome
That would be very doubtful imho. It is much more adventurous to go latest
Kafka release than to go JDK 8.
On 17 Jun 2016 3:19 a.m., "Ismael Juma"  wrote:

> Hi Harsha,
>
> Are you saying that you are aware of many Kafka users still using Java 7
> who would be ready to upgrade to the next Kafka feature release (whatever
> that version number is) before they can upgrade to Java 8?
>
> The 0.10.1 versus 0.11.0.0 is something that can be discussed separately as
> no decision has been made on what the next version will be (we did go
> straight from 0.9.0 to 0.10.0 whereas the 0.8.x series had multiple minor
> releases). Also note that Kafka bug fixes go to 0.10.0.1, not 0.10.1 and
> 0.10.0.x would still be available for users using Java 7.
>
> Ismael
>
> On Fri, Jun 17, 2016 at 12:48 AM, Harsha  wrote:
>
> > -1 on removing suport 0.10.1.0 . This is minor release and removing
> > support JDK 1.7 which lot of users still depend on not a good idea and
> > definitely they are not getting enough heads up to migrate their other
> > services to JDK1.7.
> > We can consider this for 0.11.0 release time line again depends on the
> > dates .
> >
> > Thanks,
> > Harsha
> >
> > On Thu, Jun 16, 2016, at 03:08 PM, Ismael Juma wrote:
> > > Hi Jan,
> > >
> > > That's interesting. Do you have some references you can share on this?
> It
> > > would be good to know which Java 8 versions have been tested and
> whether
> > > it
> > > is something that is being worked on.
> > >
> > > Ismael
> > >
> > > On Fri, Jun 17, 2016 at 12:02 AM,  wrote:
> > >
> > > >
> > > > Hi Ismael,
> > > >
> > > > Unfortunately Java 8 doesn't play nice with FreeBSD. We have seen a
> > lot of
> > > > JVM crashes running our 0.9 brokers on Java 8... Java 7 on the other
> > hand
> > > > is totally stable.
> > > >
> > > > Until these issues have been addressed, this would cause some serious
> > > > issues for us.
> > > >
> > > > Regards
> > > >
> > > > Jan
> >
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Tommy Becker

+1 We're on Java 8 already.

On 06/16/2016 04:45 PM, Ismael Juma wrote:

Hi all,

I would like to start a discussion on making Java 8 a minimum requirement
for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
is the first discussion on the topic so the idea is to understand how
people feel about it. If people feel it's too soon, then we can pick up the
conversation again after Kafka 0.10.1.0. If the feedback is mostly
positive, I will start a vote thread.

Let's start with some dates. Java 7 hasn't received public updates since
April 2015[1], Java 8 was released in March 2014[2] and Java 9 is scheduled
to be released in March 2017[3].

The first argument for dropping support for Java 7 is that the last public
release by Oracle contains a large number of known security
vulnerabilities. The effectiveness of Kafka's security features is reduced
if the underlying runtime is not itself secure.

The second argument for moving to Java 8 is that it adds a number of
compelling features:

* Lambda expressions and method references (particularly useful for the
Kafka Streams DSL)
* Default methods (very useful for maintaining compatibility when adding
methods to interfaces)
* java.util.stream (helpful for making collection transformations more
concise)
* Lots of improvements to java.util.concurrent (CompletableFuture,
DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
* Other nice things: SplittableRandom, Optional (and many others I have not
mentioned)

The third argument is that it will simplify our testing matrix, we won't
have to test with Java 7 any longer (this is particularly useful for system
tests that take hours to run). It will also make it easier to support Scala
2.12, which requires Java 8.

The fourth argument is that many other open-source projects have taken the
leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
support Java 8 in the next version (although it will take a while before
most phones will use that version sadly). This reduces (but does not
eliminate) the chance that we would be the first project that would cause a
user to consider a Java upgrade.

The main argument for not making the change is that a reasonable number of
users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
More specifically, we care about the subset who would be able to upgrade to
Kafka 0.10.1.0, but would not be able to upgrade the Java version. It would
be great if we could quantify this in some way.

What do you think?

Ismael

[1] https://java.com/en/download/faq/java_7.xml
[2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
[3] http://openjdk.java.net/projects/jdk9/
[4] https://github.com/apache/cassandra/blob/trunk/README.asc
[5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
[6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
[7] https://issues.apache.org/jira/browse/HADOOP-11858
[8] https://webtide.com/jetty-9-3-features/
[9] http://markmail.org/message/l7s276y3xkga2eqf
[10]
https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
[11] http://markmail.org/message/l7s276y3xkga2eqf



--
Tommy Becker
Senior Software Engineer

Digitalsmiths
A TiVo Company

www.digitalsmiths.com
tobec...@tivo.com



This email and any attachments may contain confidential and privileged material 
for the sole use of the intended recipient. Any review, copying, or 
distribution of this email (or any attachments) by others is prohibited. If you 
are not the intended recipient, please contact the sender immediately and 
permanently delete this email and any attachments. No employee or agent of TiVo 
Inc. is authorized to conclude any binding agreement on behalf of TiVo Inc. by 
email. Binding agreements with TiVo Inc. may only be made by a signed written 
agreement.


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread OGrandeDiEnne
I totally agree with Marcus.

No issue in upgrading the broker's code to 8.

For the client, there can be lots of users which are required to stay 7
because of dependencies.

So, stay with 7 at least for the client.

And... if you break compatibility to 7 please do that in a major release.

*Valerio*

On 17 June 2016 at 10:34, Marcus Gründler 
wrote:

> -1
> Hi Ismael,
>
> Although I really like the Java 8 features and understand the advantages
> you
> mentioned about Java 8 migration, I would suggest to stay with Java 7 as
> a minimum requirement for a while.
>
> I think there are two aspects to consider - Kafka Server and Kafka
> clients. On
> the server part it would make sense to switch to Java 8 because you can run
> the broker independently from any enclosing runtime (no JEE server etc.)
>
> But if you change the requirement for Kafka clients, you would cut Kafka
> support for quite a lot of real world deployments that run for example on
> an IBM WebSphere JEE Server (*sigh*). Since up to today there is no
> WebSphere version that supports Java 8.
>
> And I think a split of Kafka server with Java8 and Kafka client JARs in
> Java7
> would be too complicated to maintain.
>
> So my conclusion is - stay with Java 7 for a while.
>
> Regards, Marcus
>
>
> > Am 16.06.2016 um 22:45 schrieb Ismael Juma :
> >
> > Hi all,
> >
> > I would like to start a discussion on making Java 8 a minimum requirement
> > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> > is the first discussion on the topic so the idea is to understand how
> > people feel about it. If people feel it's too soon, then we can pick up
> the
> > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > positive, I will start a vote thread.
> >
> > Let's start with some dates. Java 7 hasn't received public updates since
> > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> scheduled
> > to be released in March 2017[3].
> >
> > The first argument for dropping support for Java 7 is that the last
> public
> > release by Oracle contains a large number of known security
> > vulnerabilities. The effectiveness of Kafka's security features is
> reduced
> > if the underlying runtime is not itself secure.
> >
> > The second argument for moving to Java 8 is that it adds a number of
> > compelling features:
> >
> > * Lambda expressions and method references (particularly useful for the
> > Kafka Streams DSL)
> > * Default methods (very useful for maintaining compatibility when adding
> > methods to interfaces)
> > * java.util.stream (helpful for making collection transformations more
> > concise)
> > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> > * Other nice things: SplittableRandom, Optional (and many others I have
> not
> > mentioned)
> >
> > The third argument is that it will simplify our testing matrix, we won't
> > have to test with Java 7 any longer (this is particularly useful for
> system
> > tests that take hours to run). It will also make it easier to support
> Scala
> > 2.12, which requires Java 8.
> >
> > The fourth argument is that many other open-source projects have taken
> the
> > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> > support Java 8 in the next version (although it will take a while before
> > most phones will use that version sadly). This reduces (but does not
> > eliminate) the chance that we would be the first project that would
> cause a
> > user to consider a Java upgrade.
> >
> > The main argument for not making the change is that a reasonable number
> of
> > users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> > More specifically, we care about the subset who would be able to upgrade
> to
> > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It
> would
> > be great if we could quantify this in some way.
> >
> > What do you think?
> >
> > Ismael
> >
> > [1] https://java.com/en/download/faq/java_7.xml
> > [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > [3] http://openjdk.java.net/projects/jdk9/
> > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> > [7] https://issues.apache.org/jira/browse/HADOOP-11858
> > [8] https://webtide.com/jetty-9-3-features/
> > [9] http://markmail.org/message/l7s276y3xkga2eqf
> > [10]
> >
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> > [11] http://markmail.org/message/l7s276y3xkga2eqf
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Gerard Klijs
+1 we already use java 8

On Fri, Jun 17, 2016 at 11:07 AM Jaikiran Pai 
wrote:

> +1 for Java 8. Our eco-system which uses Kafka and many other open
> source projects are now fully on Java 8 since a year or more.
>
> -Jaikiran
> On Friday 17 June 2016 02:15 AM, Ismael Juma wrote:
> > Hi all,
> >
> > I would like to start a discussion on making Java 8 a minimum requirement
> > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> > is the first discussion on the topic so the idea is to understand how
> > people feel about it. If people feel it's too soon, then we can pick up
> the
> > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > positive, I will start a vote thread.
> >
> > Let's start with some dates. Java 7 hasn't received public updates since
> > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> scheduled
> > to be released in March 2017[3].
> >
> > The first argument for dropping support for Java 7 is that the last
> public
> > release by Oracle contains a large number of known security
> > vulnerabilities. The effectiveness of Kafka's security features is
> reduced
> > if the underlying runtime is not itself secure.
> >
> > The second argument for moving to Java 8 is that it adds a number of
> > compelling features:
> >
> > * Lambda expressions and method references (particularly useful for the
> > Kafka Streams DSL)
> > * Default methods (very useful for maintaining compatibility when adding
> > methods to interfaces)
> > * java.util.stream (helpful for making collection transformations more
> > concise)
> > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> > * Other nice things: SplittableRandom, Optional (and many others I have
> not
> > mentioned)
> >
> > The third argument is that it will simplify our testing matrix, we won't
> > have to test with Java 7 any longer (this is particularly useful for
> system
> > tests that take hours to run). It will also make it easier to support
> Scala
> > 2.12, which requires Java 8.
> >
> > The fourth argument is that many other open-source projects have taken
> the
> > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> > support Java 8 in the next version (although it will take a while before
> > most phones will use that version sadly). This reduces (but does not
> > eliminate) the chance that we would be the first project that would
> cause a
> > user to consider a Java upgrade.
> >
> > The main argument for not making the change is that a reasonable number
> of
> > users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> > More specifically, we care about the subset who would be able to upgrade
> to
> > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It
> would
> > be great if we could quantify this in some way.
> >
> > What do you think?
> >
> > Ismael
> >
> > [1] https://java.com/en/download/faq/java_7.xml
> > [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > [3] http://openjdk.java.net/projects/jdk9/
> > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> > [7] https://issues.apache.org/jira/browse/HADOOP-11858
> > [8] https://webtide.com/jetty-9-3-features/
> > [9] http://markmail.org/message/l7s276y3xkga2eqf
> > [10]
> >
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> > [11] http://markmail.org/message/l7s276y3xkga2eqf
> >
>
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Jaikiran Pai
+1 for Java 8. Our eco-system which uses Kafka and many other open 
source projects are now fully on Java 8 since a year or more.


-Jaikiran
On Friday 17 June 2016 02:15 AM, Ismael Juma wrote:

Hi all,

I would like to start a discussion on making Java 8 a minimum requirement
for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
is the first discussion on the topic so the idea is to understand how
people feel about it. If people feel it's too soon, then we can pick up the
conversation again after Kafka 0.10.1.0. If the feedback is mostly
positive, I will start a vote thread.

Let's start with some dates. Java 7 hasn't received public updates since
April 2015[1], Java 8 was released in March 2014[2] and Java 9 is scheduled
to be released in March 2017[3].

The first argument for dropping support for Java 7 is that the last public
release by Oracle contains a large number of known security
vulnerabilities. The effectiveness of Kafka's security features is reduced
if the underlying runtime is not itself secure.

The second argument for moving to Java 8 is that it adds a number of
compelling features:

* Lambda expressions and method references (particularly useful for the
Kafka Streams DSL)
* Default methods (very useful for maintaining compatibility when adding
methods to interfaces)
* java.util.stream (helpful for making collection transformations more
concise)
* Lots of improvements to java.util.concurrent (CompletableFuture,
DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
* Other nice things: SplittableRandom, Optional (and many others I have not
mentioned)

The third argument is that it will simplify our testing matrix, we won't
have to test with Java 7 any longer (this is particularly useful for system
tests that take hours to run). It will also make it easier to support Scala
2.12, which requires Java 8.

The fourth argument is that many other open-source projects have taken the
leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
support Java 8 in the next version (although it will take a while before
most phones will use that version sadly). This reduces (but does not
eliminate) the chance that we would be the first project that would cause a
user to consider a Java upgrade.

The main argument for not making the change is that a reasonable number of
users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
More specifically, we care about the subset who would be able to upgrade to
Kafka 0.10.1.0, but would not be able to upgrade the Java version. It would
be great if we could quantify this in some way.

What do you think?

Ismael

[1] https://java.com/en/download/faq/java_7.xml
[2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
[3] http://openjdk.java.net/projects/jdk9/
[4] https://github.com/apache/cassandra/blob/trunk/README.asc
[5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
[6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
[7] https://issues.apache.org/jira/browse/HADOOP-11858
[8] https://webtide.com/jetty-9-3-features/
[9] http://markmail.org/message/l7s276y3xkga2eqf
[10]
https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
[11] http://markmail.org/message/l7s276y3xkga2eqf





Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Manikumar Reddy
I agree with Harsha and Marcus. Many of the kafka users are still on java 7
and
some of them definitely upgrade to newer versions.  We may need to support
for a while.
We can remove the support from next major version onwards.

Thanks,
Manikumar

On Fri, Jun 17, 2016 at 2:04 PM, Marcus Gründler  wrote:

> -1
> Hi Ismael,
>
> Although I really like the Java 8 features and understand the advantages
> you
> mentioned about Java 8 migration, I would suggest to stay with Java 7 as
> a minimum requirement for a while.
>
> I think there are two aspects to consider - Kafka Server and Kafka
> clients. On
> the server part it would make sense to switch to Java 8 because you can run
> the broker independently from any enclosing runtime (no JEE server etc.)
>
> But if you change the requirement for Kafka clients, you would cut Kafka
> support for quite a lot of real world deployments that run for example on
> an IBM WebSphere JEE Server (*sigh*). Since up to today there is no
> WebSphere version that supports Java 8.
>
> And I think a split of Kafka server with Java8 and Kafka client JARs in
> Java7
> would be too complicated to maintain.
>
> So my conclusion is - stay with Java 7 for a while.
>
> Regards, Marcus
>
>
> > Am 16.06.2016 um 22:45 schrieb Ismael Juma :
> >
> > Hi all,
> >
> > I would like to start a discussion on making Java 8 a minimum requirement
> > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> > is the first discussion on the topic so the idea is to understand how
> > people feel about it. If people feel it's too soon, then we can pick up
> the
> > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > positive, I will start a vote thread.
> >
> > Let's start with some dates. Java 7 hasn't received public updates since
> > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> scheduled
> > to be released in March 2017[3].
> >
> > The first argument for dropping support for Java 7 is that the last
> public
> > release by Oracle contains a large number of known security
> > vulnerabilities. The effectiveness of Kafka's security features is
> reduced
> > if the underlying runtime is not itself secure.
> >
> > The second argument for moving to Java 8 is that it adds a number of
> > compelling features:
> >
> > * Lambda expressions and method references (particularly useful for the
> > Kafka Streams DSL)
> > * Default methods (very useful for maintaining compatibility when adding
> > methods to interfaces)
> > * java.util.stream (helpful for making collection transformations more
> > concise)
> > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> > * Other nice things: SplittableRandom, Optional (and many others I have
> not
> > mentioned)
> >
> > The third argument is that it will simplify our testing matrix, we won't
> > have to test with Java 7 any longer (this is particularly useful for
> system
> > tests that take hours to run). It will also make it easier to support
> Scala
> > 2.12, which requires Java 8.
> >
> > The fourth argument is that many other open-source projects have taken
> the
> > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> > support Java 8 in the next version (although it will take a while before
> > most phones will use that version sadly). This reduces (but does not
> > eliminate) the chance that we would be the first project that would
> cause a
> > user to consider a Java upgrade.
> >
> > The main argument for not making the change is that a reasonable number
> of
> > users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> > More specifically, we care about the subset who would be able to upgrade
> to
> > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It
> would
> > be great if we could quantify this in some way.
> >
> > What do you think?
> >
> > Ismael
> >
> > [1] https://java.com/en/download/faq/java_7.xml
> > [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > [3] http://openjdk.java.net/projects/jdk9/
> > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> > [7] https://issues.apache.org/jira/browse/HADOOP-11858
> > [8] https://webtide.com/jetty-9-3-features/
> > [9] http://markmail.org/message/l7s276y3xkga2eqf
> > [10]
> >
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> > [11] http://markmail.org/message/l7s276y3xkga2eqf
>
> --
>
> aixigo AG - einfach. besser. beraten
> Karl-Friedrich-Straße 68, 52072 Aachen, Germany
> fon: +49 (0)241 559709-43, fax: +49 (0)241 559709-99
> eMail: 

Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Stevo Slavić
+1 on Java 8 already, Scala 2.11 is enough as well

On Fri, Jun 17, 2016 at 9:48 AM, Achanta Vamsi Subhash <
achanta.va...@flipkart.com> wrote:

> +1 to Java8 - we have already moved to Java8 last year.
>
> On Fri, Jun 17, 2016 at 12:48 PM, Ismael Juma  wrote:
>
> > Hi Harsha,
> >
> > Are you saying that you are aware of many Kafka users still using Java 7
> > who would be ready to upgrade to the next Kafka feature release (whatever
> > that version number is) before they can upgrade to Java 8?
> >
> > The 0.10.1 versus 0.11.0.0 is something that can be discussed separately
> as
> > no decision has been made on what the next version will be (we did go
> > straight from 0.9.0 to 0.10.0 whereas the 0.8.x series had multiple minor
> > releases). Also note that Kafka bug fixes go to 0.10.0.1, not 0.10.1 and
> > 0.10.0.x would still be available for users using Java 7.
> >
> > Ismael
> >
> > On Fri, Jun 17, 2016 at 12:48 AM, Harsha  wrote:
> >
> > > -1 on removing suport 0.10.1.0 . This is minor release and removing
> > > support JDK 1.7 which lot of users still depend on not a good idea and
> > > definitely they are not getting enough heads up to migrate their other
> > > services to JDK1.7.
> > > We can consider this for 0.11.0 release time line again depends on the
> > > dates .
> > >
> > > Thanks,
> > > Harsha
> > >
> > > On Thu, Jun 16, 2016, at 03:08 PM, Ismael Juma wrote:
> > > > Hi Jan,
> > > >
> > > > That's interesting. Do you have some references you can share on
> this?
> > It
> > > > would be good to know which Java 8 versions have been tested and
> > whether
> > > > it
> > > > is something that is being worked on.
> > > >
> > > > Ismael
> > > >
> > > > On Fri, Jun 17, 2016 at 12:02 AM,  wrote:
> > > >
> > > > >
> > > > > Hi Ismael,
> > > > >
> > > > > Unfortunately Java 8 doesn't play nice with FreeBSD. We have seen a
> > > lot of
> > > > > JVM crashes running our 0.9 brokers on Java 8... Java 7 on the
> other
> > > hand
> > > > > is totally stable.
> > > > >
> > > > > Until these issues have been addressed, this would cause some
> serious
> > > > > issues for us.
> > > > >
> > > > > Regards
> > > > >
> > > > > Jan
> > >
> >
>
>
>
> --
> Regards
> Vamsi Subhash
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Marcus Gründler
-1
Hi Ismael,

Although I really like the Java 8 features and understand the advantages you
mentioned about Java 8 migration, I would suggest to stay with Java 7 as
a minimum requirement for a while.

I think there are two aspects to consider - Kafka Server and Kafka clients. On 
the server part it would make sense to switch to Java 8 because you can run
the broker independently from any enclosing runtime (no JEE server etc.)

But if you change the requirement for Kafka clients, you would cut Kafka
support for quite a lot of real world deployments that run for example on
an IBM WebSphere JEE Server (*sigh*). Since up to today there is no 
WebSphere version that supports Java 8.

And I think a split of Kafka server with Java8 and Kafka client JARs in Java7 
would be too complicated to maintain.

So my conclusion is - stay with Java 7 for a while.

Regards, Marcus


> Am 16.06.2016 um 22:45 schrieb Ismael Juma :
> 
> Hi all,
> 
> I would like to start a discussion on making Java 8 a minimum requirement
> for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> is the first discussion on the topic so the idea is to understand how
> people feel about it. If people feel it's too soon, then we can pick up the
> conversation again after Kafka 0.10.1.0. If the feedback is mostly
> positive, I will start a vote thread.
> 
> Let's start with some dates. Java 7 hasn't received public updates since
> April 2015[1], Java 8 was released in March 2014[2] and Java 9 is scheduled
> to be released in March 2017[3].
> 
> The first argument for dropping support for Java 7 is that the last public
> release by Oracle contains a large number of known security
> vulnerabilities. The effectiveness of Kafka's security features is reduced
> if the underlying runtime is not itself secure.
> 
> The second argument for moving to Java 8 is that it adds a number of
> compelling features:
> 
> * Lambda expressions and method references (particularly useful for the
> Kafka Streams DSL)
> * Default methods (very useful for maintaining compatibility when adding
> methods to interfaces)
> * java.util.stream (helpful for making collection transformations more
> concise)
> * Lots of improvements to java.util.concurrent (CompletableFuture,
> DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> * Other nice things: SplittableRandom, Optional (and many others I have not
> mentioned)
> 
> The third argument is that it will simplify our testing matrix, we won't
> have to test with Java 7 any longer (this is particularly useful for system
> tests that take hours to run). It will also make it easier to support Scala
> 2.12, which requires Java 8.
> 
> The fourth argument is that many other open-source projects have taken the
> leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> support Java 8 in the next version (although it will take a while before
> most phones will use that version sadly). This reduces (but does not
> eliminate) the chance that we would be the first project that would cause a
> user to consider a Java upgrade.
> 
> The main argument for not making the change is that a reasonable number of
> users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> More specifically, we care about the subset who would be able to upgrade to
> Kafka 0.10.1.0, but would not be able to upgrade the Java version. It would
> be great if we could quantify this in some way.
> 
> What do you think?
> 
> Ismael
> 
> [1] https://java.com/en/download/faq/java_7.xml
> [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> [3] http://openjdk.java.net/projects/jdk9/
> [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> [7] https://issues.apache.org/jira/browse/HADOOP-11858
> [8] https://webtide.com/jetty-9-3-features/
> [9] http://markmail.org/message/l7s276y3xkga2eqf
> [10]
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> [11] http://markmail.org/message/l7s276y3xkga2eqf

-- 

aixigo AG - einfach. besser. beraten
Karl-Friedrich-Straße 68, 52072 Aachen, Germany
fon: +49 (0)241 559709-43, fax: +49 (0)241 559709-99
eMail: marcus.gruend...@aixigo.de, web: http://www.aixigo.de

Amtsgericht Aachen - HRB 8057
Vorstand: Erich Borsch, Christian Friedrich, Tobias Haustein
Vors. des Aufsichtsrates: Prof. Dr. Rüdiger von Nitzsch



Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Achanta Vamsi Subhash
+1 to Java8 - we have already moved to Java8 last year.

On Fri, Jun 17, 2016 at 12:48 PM, Ismael Juma  wrote:

> Hi Harsha,
>
> Are you saying that you are aware of many Kafka users still using Java 7
> who would be ready to upgrade to the next Kafka feature release (whatever
> that version number is) before they can upgrade to Java 8?
>
> The 0.10.1 versus 0.11.0.0 is something that can be discussed separately as
> no decision has been made on what the next version will be (we did go
> straight from 0.9.0 to 0.10.0 whereas the 0.8.x series had multiple minor
> releases). Also note that Kafka bug fixes go to 0.10.0.1, not 0.10.1 and
> 0.10.0.x would still be available for users using Java 7.
>
> Ismael
>
> On Fri, Jun 17, 2016 at 12:48 AM, Harsha  wrote:
>
> > -1 on removing suport 0.10.1.0 . This is minor release and removing
> > support JDK 1.7 which lot of users still depend on not a good idea and
> > definitely they are not getting enough heads up to migrate their other
> > services to JDK1.7.
> > We can consider this for 0.11.0 release time line again depends on the
> > dates .
> >
> > Thanks,
> > Harsha
> >
> > On Thu, Jun 16, 2016, at 03:08 PM, Ismael Juma wrote:
> > > Hi Jan,
> > >
> > > That's interesting. Do you have some references you can share on this?
> It
> > > would be good to know which Java 8 versions have been tested and
> whether
> > > it
> > > is something that is being worked on.
> > >
> > > Ismael
> > >
> > > On Fri, Jun 17, 2016 at 12:02 AM,  wrote:
> > >
> > > >
> > > > Hi Ismael,
> > > >
> > > > Unfortunately Java 8 doesn't play nice with FreeBSD. We have seen a
> > lot of
> > > > JVM crashes running our 0.9 brokers on Java 8... Java 7 on the other
> > hand
> > > > is totally stable.
> > > >
> > > > Until these issues have been addressed, this would cause some serious
> > > > issues for us.
> > > >
> > > > Regards
> > > >
> > > > Jan
> >
>



-- 
Regards
Vamsi Subhash


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-17 Thread Ismael Juma
Hi Harsha,

Are you saying that you are aware of many Kafka users still using Java 7
who would be ready to upgrade to the next Kafka feature release (whatever
that version number is) before they can upgrade to Java 8?

The 0.10.1 versus 0.11.0.0 is something that can be discussed separately as
no decision has been made on what the next version will be (we did go
straight from 0.9.0 to 0.10.0 whereas the 0.8.x series had multiple minor
releases). Also note that Kafka bug fixes go to 0.10.0.1, not 0.10.1 and
0.10.0.x would still be available for users using Java 7.

Ismael

On Fri, Jun 17, 2016 at 12:48 AM, Harsha  wrote:

> -1 on removing suport 0.10.1.0 . This is minor release and removing
> support JDK 1.7 which lot of users still depend on not a good idea and
> definitely they are not getting enough heads up to migrate their other
> services to JDK1.7.
> We can consider this for 0.11.0 release time line again depends on the
> dates .
>
> Thanks,
> Harsha
>
> On Thu, Jun 16, 2016, at 03:08 PM, Ismael Juma wrote:
> > Hi Jan,
> >
> > That's interesting. Do you have some references you can share on this? It
> > would be good to know which Java 8 versions have been tested and whether
> > it
> > is something that is being worked on.
> >
> > Ismael
> >
> > On Fri, Jun 17, 2016 at 12:02 AM,  wrote:
> >
> > >
> > > Hi Ismael,
> > >
> > > Unfortunately Java 8 doesn't play nice with FreeBSD. We have seen a
> lot of
> > > JVM crashes running our 0.9 brokers on Java 8... Java 7 on the other
> hand
> > > is totally stable.
> > >
> > > Until these issues have been addressed, this would cause some serious
> > > issues for us.
> > >
> > > Regards
> > >
> > > Jan
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Harsha
-1 on removing suport 0.10.1.0 . This is minor release and removing
support JDK 1.7 which lot of users still depend on not a good idea and
definitely they are not getting enough heads up to migrate their other
services to JDK1.7. 
We can consider this for 0.11.0 release time line again depends on the
dates .

Thanks,
Harsha

On Thu, Jun 16, 2016, at 03:08 PM, Ismael Juma wrote:
> Hi Jan,
> 
> That's interesting. Do you have some references you can share on this? It
> would be good to know which Java 8 versions have been tested and whether
> it
> is something that is being worked on.
> 
> Ismael
> 
> On Fri, Jun 17, 2016 at 12:02 AM,  wrote:
> 
> >
> > Hi Ismael,
> >
> > Unfortunately Java 8 doesn't play nice with FreeBSD. We have seen a lot of
> > JVM crashes running our 0.9 brokers on Java 8... Java 7 on the other hand
> > is totally stable.
> >
> > Until these issues have been addressed, this would cause some serious
> > issues for us.
> >
> > Regards
> >
> > Jan


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Ismael Juma
Hi Jan,

That's interesting. Do you have some references you can share on this? It
would be good to know which Java 8 versions have been tested and whether it
is something that is being worked on.

Ismael

On Fri, Jun 17, 2016 at 12:02 AM,  wrote:

>
> Hi Ismael,
>
> Unfortunately Java 8 doesn't play nice with FreeBSD. We have seen a lot of
> JVM crashes running our 0.9 brokers on Java 8... Java 7 on the other hand
> is totally stable.
>
> Until these issues have been addressed, this would cause some serious
> issues for us.
>
> Regards
>
> Jan


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread jan . omar

Hi Ismael,

Unfortunately Java 8 doesn't play nice with FreeBSD. We have seen a lot of JVM 
crashes running our 0.9 brokers on Java 8... Java 7 on the other hand is 
totally stable. 

Until these issues have been addressed, this would cause some serious issues 
for us.

Regards 

Jan

Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Ismael Juma
Hi Grant,

Comments below.

On Thu, Jun 16, 2016 at 11:13 PM, Grant Henke  wrote:

> Would it make sense to drop Java 1.7 and Scala 2.10 support in Kafka 0.11
> to maintain upgrade compatibility throughout the 0.10.x series?
>

The issue is that we don't know when Kafka 0.11 will be released. Also, I
think it would be better not to bump the `major` version just for this
change (if we have to do it for some other reason, then that's even
better). The reason is that your code will work without change, you just
have to make sure you have the right environment. And many (most?) already
do. For what it's worth, this is the same approach Akka took with their
2.4.0 release (the first to require Java 8).

I would prefer to have the discussion about Scala 2.10 separately. Maybe
when the 2.12 release is nearer.

As a side note, I personally like the pattern of always supporting 2 java
> and 2 Scala versions for any given release because it give the user a way
> to upgrade one or the other independently. This creates a relatively
> "static" testing matrix as well.
>

That is my preference as well. I am raising this sooner this time because
of what I consider exceptional conditions. The long period between Java 7
and 8 combined with the delay of Java 9 means that Java 7 has been EOL'd
for 14 months and we are only starting the 0.10.1.0 cycle. And Java 8 has
some high-impact features for Kafka Streams (it is possible to support
lambdas by having our own SAMs, but this is painful for a number of
reasons).

Ismael


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Ismael Juma
On Thu, Jun 16, 2016 at 11:13 PM, Stephen Boesch  wrote:

> @Jeff Klukas What is the concern about scala 2.11 vs 2.12?   2.11 runs on
> both java7 and java8
>

Scala 2.10.5 and 2.10.6 also support Java 8 for what it's worth.

Ismael


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Stephen Boesch
@Jeff Klukas What is the concern about scala 2.11 vs 2.12?   2.11 runs on
both java7 and java8

2016-06-16 14:12 GMT-07:00 Jeff Klukas :

> Would the move to Java 8 be for all modules? I'd have some concern about
> removing Java 7 compatibility for kafka-clients and for kafka streams
> (though less so since it's still so new). I don't know how hard it will be
> to transition a Scala 2.11 application to Scala 2.12. Are we comfortable
> with the idea of applications stuck on Scala 2.11 or otherwise unable to
> update to Java 8 not having access to new client releases?
>
> On Thu, Jun 16, 2016 at 5:05 PM, Philippe Derome 
> wrote:
>
> > I strongly support motion having difficulty running (Apache Kafka as
> > opposed to Confluent) Stream examples with JDK 8 today.
> > On 16 Jun 2016 4:46 p.m., "Ismael Juma"  wrote:
> >
> > > Hi all,
> > >
> > > I would like to start a discussion on making Java 8 a minimum
> requirement
> > > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now).
> This
> > > is the first discussion on the topic so the idea is to understand how
> > > people feel about it. If people feel it's too soon, then we can pick up
> > the
> > > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > > positive, I will start a vote thread.
> > >
> > > Let's start with some dates. Java 7 hasn't received public updates
> since
> > > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> > scheduled
> > > to be released in March 2017[3].
> > >
> > > The first argument for dropping support for Java 7 is that the last
> > public
> > > release by Oracle contains a large number of known security
> > > vulnerabilities. The effectiveness of Kafka's security features is
> > reduced
> > > if the underlying runtime is not itself secure.
> > >
> > > The second argument for moving to Java 8 is that it adds a number of
> > > compelling features:
> > >
> > > * Lambda expressions and method references (particularly useful for the
> > > Kafka Streams DSL)
> > > * Default methods (very useful for maintaining compatibility when
> adding
> > > methods to interfaces)
> > > * java.util.stream (helpful for making collection transformations more
> > > concise)
> > > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder,
> LongAccumulator)
> > > * Other nice things: SplittableRandom, Optional (and many others I have
> > not
> > > mentioned)
> > >
> > > The third argument is that it will simplify our testing matrix, we
> won't
> > > have to test with Java 7 any longer (this is particularly useful for
> > system
> > > tests that take hours to run). It will also make it easier to support
> > Scala
> > > 2.12, which requires Java 8.
> > >
> > > The fourth argument is that many other open-source projects have taken
> > the
> > > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop
> 3[7],
> > > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android
> will
> > > support Java 8 in the next version (although it will take a while
> before
> > > most phones will use that version sadly). This reduces (but does not
> > > eliminate) the chance that we would be the first project that would
> > cause a
> > > user to consider a Java upgrade.
> > >
> > > The main argument for not making the change is that a reasonable number
> > of
> > > users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> > > More specifically, we care about the subset who would be able to
> upgrade
> > to
> > > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It
> > would
> > > be great if we could quantify this in some way.
> > >
> > > What do you think?
> > >
> > > Ismael
> > >
> > > [1] https://java.com/en/download/faq/java_7.xml
> > > [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > > [3] http://openjdk.java.net/projects/jdk9/
> > > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > > [5]
> https://lucene.apache.org/#highlights-of-this-lucene-release-include
> > > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> > > [7] https://issues.apache.org/jira/browse/HADOOP-11858
> > > [8] https://webtide.com/jetty-9-3-features/
> > > [9] http://markmail.org/message/l7s276y3xkga2eqf
> > > [10]
> > >
> > >
> >
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> > > [11] http://markmail.org/message/l7s276y3xkga2eqf
> > >
> >
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Grant Henke
I definitely think its time, but I am not sure if 0.10.1.0 is the release
version to drop support in.

Would it make sense to drop Java 1.7 and Scala 2.10 support in Kafka 0.11
to maintain upgrade compatibility throughout the 0.10.x series?

As a side note, I personally like the pattern of always supporting 2 java
and 2 Scala versions for any given release because it give the user a way
to upgrade one or the other independently. This creates a relatively
"static" testing matrix as well.





On Thu, Jun 16, 2016 at 3:59 PM, Adam Kunicki  wrote:

> +1
>
> Adam Kunicki
> StreamSets | Field Engineer
> mobile: 415.890.DATA (3282) | linkedin
> <
> https://mailtrack.io/trace/link/3e560367e0508b2f285512f39bd070275e70f571?url=http%3A%2F%2Fwww.adamkunicki.com=aabcc9d816de2753
> >
>
> On Thu, Jun 16, 2016 at 1:56 PM, Craig Swift <
> craig.sw...@returnpath.com.invalid> wrote:
>
> > +1
> >
> > Craig J. Swift
> > Principal Software Engineer - Data Pipeline
> > ReturnPath Inc.
> > Work: 303-999-3220 Cell: 720-560-7038
> >
> > On Thu, Jun 16, 2016 at 2:50 PM, Henry Cai 
> > wrote:
> >
> > > +1 for Lambda expression.
> > >
> > > On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian 
> > wrote:
> > >
> > > > +1
> > > >
> > > > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma 
> > wrote:
> > > >
> > > > > Hi all,
> > > > >
> > > > > I would like to start a discussion on making Java 8 a minimum
> > > requirement
> > > > > for Kafka's next feature release (let's say Kafka 0.10.1.0 for
> now).
> > > This
> > > > > is the first discussion on the topic so the idea is to understand
> how
> > > > > people feel about it. If people feel it's too soon, then we can
> pick
> > up
> > > > the
> > > > > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > > > > positive, I will start a vote thread.
> > > > >
> > > > > Let's start with some dates. Java 7 hasn't received public updates
> > > since
> > > > > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> > > > scheduled
> > > > > to be released in March 2017[3].
> > > > >
> > > > > The first argument for dropping support for Java 7 is that the last
> > > > public
> > > > > release by Oracle contains a large number of known security
> > > > > vulnerabilities. The effectiveness of Kafka's security features is
> > > > reduced
> > > > > if the underlying runtime is not itself secure.
> > > > >
> > > > > The second argument for moving to Java 8 is that it adds a number
> of
> > > > > compelling features:
> > > > >
> > > > > * Lambda expressions and method references (particularly useful for
> > the
> > > > > Kafka Streams DSL)
> > > > > * Default methods (very useful for maintaining compatibility when
> > > adding
> > > > > methods to interfaces)
> > > > > * java.util.stream (helpful for making collection transformations
> > more
> > > > > concise)
> > > > > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > > > > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder,
> > > LongAccumulator)
> > > > > * Other nice things: SplittableRandom, Optional (and many others I
> > have
> > > > not
> > > > > mentioned)
> > > > >
> > > > > The third argument is that it will simplify our testing matrix, we
> > > won't
> > > > > have to test with Java 7 any longer (this is particularly useful
> for
> > > > system
> > > > > tests that take hours to run). It will also make it easier to
> support
> > > > Scala
> > > > > 2.12, which requires Java 8.
> > > > >
> > > > > The fourth argument is that many other open-source projects have
> > taken
> > > > the
> > > > > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop
> > > 3[7],
> > > > > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even
> Android
> > > will
> > > > > support Java 8 in the next version (although it will take a while
> > > before
> > > > > most phones will use that version sadly). This reduces (but does
> not
> > > > > eliminate) the chance that we would be the first project that would
> > > > cause a
> > > > > user to consider a Java upgrade.
> > > > >
> > > > > The main argument for not making the change is that a reasonable
> > number
> > > > of
> > > > > users may still be using Java 7 by the time Kafka 0.10.1.0 is
> > released.
> > > > > More specifically, we care about the subset who would be able to
> > > upgrade
> > > > to
> > > > > Kafka 0.10.1.0, but would not be able to upgrade the Java version.
> It
> > > > would
> > > > > be great if we could quantify this in some way.
> > > > >
> > > > > What do you think?
> > > > >
> > > > > Ismael
> > > > >
> > > > > [1] https://java.com/en/download/faq/java_7.xml
> > > > > [2]
> > https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > > > > [3] http://openjdk.java.net/projects/jdk9/
> > > > > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > > > > [5]
> > > 

Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Jeff Klukas
Would the move to Java 8 be for all modules? I'd have some concern about
removing Java 7 compatibility for kafka-clients and for kafka streams
(though less so since it's still so new). I don't know how hard it will be
to transition a Scala 2.11 application to Scala 2.12. Are we comfortable
with the idea of applications stuck on Scala 2.11 or otherwise unable to
update to Java 8 not having access to new client releases?

On Thu, Jun 16, 2016 at 5:05 PM, Philippe Derome  wrote:

> I strongly support motion having difficulty running (Apache Kafka as
> opposed to Confluent) Stream examples with JDK 8 today.
> On 16 Jun 2016 4:46 p.m., "Ismael Juma"  wrote:
>
> > Hi all,
> >
> > I would like to start a discussion on making Java 8 a minimum requirement
> > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> > is the first discussion on the topic so the idea is to understand how
> > people feel about it. If people feel it's too soon, then we can pick up
> the
> > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > positive, I will start a vote thread.
> >
> > Let's start with some dates. Java 7 hasn't received public updates since
> > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> scheduled
> > to be released in March 2017[3].
> >
> > The first argument for dropping support for Java 7 is that the last
> public
> > release by Oracle contains a large number of known security
> > vulnerabilities. The effectiveness of Kafka's security features is
> reduced
> > if the underlying runtime is not itself secure.
> >
> > The second argument for moving to Java 8 is that it adds a number of
> > compelling features:
> >
> > * Lambda expressions and method references (particularly useful for the
> > Kafka Streams DSL)
> > * Default methods (very useful for maintaining compatibility when adding
> > methods to interfaces)
> > * java.util.stream (helpful for making collection transformations more
> > concise)
> > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> > * Other nice things: SplittableRandom, Optional (and many others I have
> not
> > mentioned)
> >
> > The third argument is that it will simplify our testing matrix, we won't
> > have to test with Java 7 any longer (this is particularly useful for
> system
> > tests that take hours to run). It will also make it easier to support
> Scala
> > 2.12, which requires Java 8.
> >
> > The fourth argument is that many other open-source projects have taken
> the
> > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> > support Java 8 in the next version (although it will take a while before
> > most phones will use that version sadly). This reduces (but does not
> > eliminate) the chance that we would be the first project that would
> cause a
> > user to consider a Java upgrade.
> >
> > The main argument for not making the change is that a reasonable number
> of
> > users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> > More specifically, we care about the subset who would be able to upgrade
> to
> > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It
> would
> > be great if we could quantify this in some way.
> >
> > What do you think?
> >
> > Ismael
> >
> > [1] https://java.com/en/download/faq/java_7.xml
> > [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > [3] http://openjdk.java.net/projects/jdk9/
> > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> > [7] https://issues.apache.org/jira/browse/HADOOP-11858
> > [8] https://webtide.com/jetty-9-3-features/
> > [9] http://markmail.org/message/l7s276y3xkga2eqf
> > [10]
> >
> >
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> > [11] http://markmail.org/message/l7s276y3xkga2eqf
> >
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Stephen Powis
+1

On Thu, Jun 16, 2016 at 5:05 PM, Philippe Derome  wrote:

> I strongly support motion having difficulty running (Apache Kafka as
> opposed to Confluent) Stream examples with JDK 8 today.
> On 16 Jun 2016 4:46 p.m., "Ismael Juma"  wrote:
>
> > Hi all,
> >
> > I would like to start a discussion on making Java 8 a minimum requirement
> > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> > is the first discussion on the topic so the idea is to understand how
> > people feel about it. If people feel it's too soon, then we can pick up
> the
> > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > positive, I will start a vote thread.
> >
> > Let's start with some dates. Java 7 hasn't received public updates since
> > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> scheduled
> > to be released in March 2017[3].
> >
> > The first argument for dropping support for Java 7 is that the last
> public
> > release by Oracle contains a large number of known security
> > vulnerabilities. The effectiveness of Kafka's security features is
> reduced
> > if the underlying runtime is not itself secure.
> >
> > The second argument for moving to Java 8 is that it adds a number of
> > compelling features:
> >
> > * Lambda expressions and method references (particularly useful for the
> > Kafka Streams DSL)
> > * Default methods (very useful for maintaining compatibility when adding
> > methods to interfaces)
> > * java.util.stream (helpful for making collection transformations more
> > concise)
> > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> > * Other nice things: SplittableRandom, Optional (and many others I have
> not
> > mentioned)
> >
> > The third argument is that it will simplify our testing matrix, we won't
> > have to test with Java 7 any longer (this is particularly useful for
> system
> > tests that take hours to run). It will also make it easier to support
> Scala
> > 2.12, which requires Java 8.
> >
> > The fourth argument is that many other open-source projects have taken
> the
> > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> > support Java 8 in the next version (although it will take a while before
> > most phones will use that version sadly). This reduces (but does not
> > eliminate) the chance that we would be the first project that would
> cause a
> > user to consider a Java upgrade.
> >
> > The main argument for not making the change is that a reasonable number
> of
> > users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> > More specifically, we care about the subset who would be able to upgrade
> to
> > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It
> would
> > be great if we could quantify this in some way.
> >
> > What do you think?
> >
> > Ismael
> >
> > [1] https://java.com/en/download/faq/java_7.xml
> > [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > [3] http://openjdk.java.net/projects/jdk9/
> > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> > [7] https://issues.apache.org/jira/browse/HADOOP-11858
> > [8] https://webtide.com/jetty-9-3-features/
> > [9] http://markmail.org/message/l7s276y3xkga2eqf
> > [10]
> >
> >
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> > [11] http://markmail.org/message/l7s276y3xkga2eqf
> >
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Philippe Derome
I strongly support motion having difficulty running (Apache Kafka as
opposed to Confluent) Stream examples with JDK 8 today.
On 16 Jun 2016 4:46 p.m., "Ismael Juma"  wrote:

> Hi all,
>
> I would like to start a discussion on making Java 8 a minimum requirement
> for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> is the first discussion on the topic so the idea is to understand how
> people feel about it. If people feel it's too soon, then we can pick up the
> conversation again after Kafka 0.10.1.0. If the feedback is mostly
> positive, I will start a vote thread.
>
> Let's start with some dates. Java 7 hasn't received public updates since
> April 2015[1], Java 8 was released in March 2014[2] and Java 9 is scheduled
> to be released in March 2017[3].
>
> The first argument for dropping support for Java 7 is that the last public
> release by Oracle contains a large number of known security
> vulnerabilities. The effectiveness of Kafka's security features is reduced
> if the underlying runtime is not itself secure.
>
> The second argument for moving to Java 8 is that it adds a number of
> compelling features:
>
> * Lambda expressions and method references (particularly useful for the
> Kafka Streams DSL)
> * Default methods (very useful for maintaining compatibility when adding
> methods to interfaces)
> * java.util.stream (helpful for making collection transformations more
> concise)
> * Lots of improvements to java.util.concurrent (CompletableFuture,
> DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> * Other nice things: SplittableRandom, Optional (and many others I have not
> mentioned)
>
> The third argument is that it will simplify our testing matrix, we won't
> have to test with Java 7 any longer (this is particularly useful for system
> tests that take hours to run). It will also make it easier to support Scala
> 2.12, which requires Java 8.
>
> The fourth argument is that many other open-source projects have taken the
> leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> support Java 8 in the next version (although it will take a while before
> most phones will use that version sadly). This reduces (but does not
> eliminate) the chance that we would be the first project that would cause a
> user to consider a Java upgrade.
>
> The main argument for not making the change is that a reasonable number of
> users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> More specifically, we care about the subset who would be able to upgrade to
> Kafka 0.10.1.0, but would not be able to upgrade the Java version. It would
> be great if we could quantify this in some way.
>
> What do you think?
>
> Ismael
>
> [1] https://java.com/en/download/faq/java_7.xml
> [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> [3] http://openjdk.java.net/projects/jdk9/
> [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> [7] https://issues.apache.org/jira/browse/HADOOP-11858
> [8] https://webtide.com/jetty-9-3-features/
> [9] http://markmail.org/message/l7s276y3xkga2eqf
> [10]
>
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> [11] http://markmail.org/message/l7s276y3xkga2eqf
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Ben Davison
+ 1

On Thursday, 16 June 2016, Craig Swift 
wrote:

> +1
>
> Craig J. Swift
> Principal Software Engineer - Data Pipeline
> ReturnPath Inc.
> Work: 303-999-3220 Cell: 720-560-7038
>
> On Thu, Jun 16, 2016 at 2:50 PM, Henry Cai 
> wrote:
>
> > +1 for Lambda expression.
> >
> > On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian  > wrote:
> >
> > > +1
> > >
> > > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma  > wrote:
> > >
> > > > Hi all,
> > > >
> > > > I would like to start a discussion on making Java 8 a minimum
> > requirement
> > > > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now).
> > This
> > > > is the first discussion on the topic so the idea is to understand how
> > > > people feel about it. If people feel it's too soon, then we can pick
> up
> > > the
> > > > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > > > positive, I will start a vote thread.
> > > >
> > > > Let's start with some dates. Java 7 hasn't received public updates
> > since
> > > > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> > > scheduled
> > > > to be released in March 2017[3].
> > > >
> > > > The first argument for dropping support for Java 7 is that the last
> > > public
> > > > release by Oracle contains a large number of known security
> > > > vulnerabilities. The effectiveness of Kafka's security features is
> > > reduced
> > > > if the underlying runtime is not itself secure.
> > > >
> > > > The second argument for moving to Java 8 is that it adds a number of
> > > > compelling features:
> > > >
> > > > * Lambda expressions and method references (particularly useful for
> the
> > > > Kafka Streams DSL)
> > > > * Default methods (very useful for maintaining compatibility when
> > adding
> > > > methods to interfaces)
> > > > * java.util.stream (helpful for making collection transformations
> more
> > > > concise)
> > > > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > > > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder,
> > LongAccumulator)
> > > > * Other nice things: SplittableRandom, Optional (and many others I
> have
> > > not
> > > > mentioned)
> > > >
> > > > The third argument is that it will simplify our testing matrix, we
> > won't
> > > > have to test with Java 7 any longer (this is particularly useful for
> > > system
> > > > tests that take hours to run). It will also make it easier to support
> > > Scala
> > > > 2.12, which requires Java 8.
> > > >
> > > > The fourth argument is that many other open-source projects have
> taken
> > > the
> > > > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop
> > 3[7],
> > > > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android
> > will
> > > > support Java 8 in the next version (although it will take a while
> > before
> > > > most phones will use that version sadly). This reduces (but does not
> > > > eliminate) the chance that we would be the first project that would
> > > cause a
> > > > user to consider a Java upgrade.
> > > >
> > > > The main argument for not making the change is that a reasonable
> number
> > > of
> > > > users may still be using Java 7 by the time Kafka 0.10.1.0 is
> released.
> > > > More specifically, we care about the subset who would be able to
> > upgrade
> > > to
> > > > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It
> > > would
> > > > be great if we could quantify this in some way.
> > > >
> > > > What do you think?
> > > >
> > > > Ismael
> > > >
> > > > [1] https://java.com/en/download/faq/java_7.xml
> > > > [2]
> https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > > > [3] http://openjdk.java.net/projects/jdk9/
> > > > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > > > [5]
> > https://lucene.apache.org/#highlights-of-this-lucene-release-include
> > > > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> > > > [7] https://issues.apache.org/jira/browse/HADOOP-11858
> > > > [8] https://webtide.com/jetty-9-3-features/
> > > > [9] http://markmail.org/message/l7s276y3xkga2eqf
> > > > [10]
> > > >
> > > >
> > >
> >
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> > > > [11] http://markmail.org/message/l7s276y3xkga2eqf
> > > >
> > >
> >
>

-- 


This email, including attachments, is private and confidential. If you have 
received this email in error please notify the sender and delete it from 
your system. Emails are not secure and may contain viruses. No liability 
can be accepted for viruses that might be transferred by this email or any 
attachment. Any unauthorised copying of this message or unauthorised 
distribution and publication of the information contained herein are 
prohibited.

7digital Limited. Registered office: 69 Wilson Street, London EC2A 

Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Craig Swift
+1

Craig J. Swift
Principal Software Engineer - Data Pipeline
ReturnPath Inc.
Work: 303-999-3220 Cell: 720-560-7038

On Thu, Jun 16, 2016 at 2:50 PM, Henry Cai 
wrote:

> +1 for Lambda expression.
>
> On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian  wrote:
>
> > +1
> >
> > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma  wrote:
> >
> > > Hi all,
> > >
> > > I would like to start a discussion on making Java 8 a minimum
> requirement
> > > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now).
> This
> > > is the first discussion on the topic so the idea is to understand how
> > > people feel about it. If people feel it's too soon, then we can pick up
> > the
> > > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > > positive, I will start a vote thread.
> > >
> > > Let's start with some dates. Java 7 hasn't received public updates
> since
> > > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> > scheduled
> > > to be released in March 2017[3].
> > >
> > > The first argument for dropping support for Java 7 is that the last
> > public
> > > release by Oracle contains a large number of known security
> > > vulnerabilities. The effectiveness of Kafka's security features is
> > reduced
> > > if the underlying runtime is not itself secure.
> > >
> > > The second argument for moving to Java 8 is that it adds a number of
> > > compelling features:
> > >
> > > * Lambda expressions and method references (particularly useful for the
> > > Kafka Streams DSL)
> > > * Default methods (very useful for maintaining compatibility when
> adding
> > > methods to interfaces)
> > > * java.util.stream (helpful for making collection transformations more
> > > concise)
> > > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder,
> LongAccumulator)
> > > * Other nice things: SplittableRandom, Optional (and many others I have
> > not
> > > mentioned)
> > >
> > > The third argument is that it will simplify our testing matrix, we
> won't
> > > have to test with Java 7 any longer (this is particularly useful for
> > system
> > > tests that take hours to run). It will also make it easier to support
> > Scala
> > > 2.12, which requires Java 8.
> > >
> > > The fourth argument is that many other open-source projects have taken
> > the
> > > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop
> 3[7],
> > > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android
> will
> > > support Java 8 in the next version (although it will take a while
> before
> > > most phones will use that version sadly). This reduces (but does not
> > > eliminate) the chance that we would be the first project that would
> > cause a
> > > user to consider a Java upgrade.
> > >
> > > The main argument for not making the change is that a reasonable number
> > of
> > > users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> > > More specifically, we care about the subset who would be able to
> upgrade
> > to
> > > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It
> > would
> > > be great if we could quantify this in some way.
> > >
> > > What do you think?
> > >
> > > Ismael
> > >
> > > [1] https://java.com/en/download/faq/java_7.xml
> > > [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > > [3] http://openjdk.java.net/projects/jdk9/
> > > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > > [5]
> https://lucene.apache.org/#highlights-of-this-lucene-release-include
> > > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> > > [7] https://issues.apache.org/jira/browse/HADOOP-11858
> > > [8] https://webtide.com/jetty-9-3-features/
> > > [9] http://markmail.org/message/l7s276y3xkga2eqf
> > > [10]
> > >
> > >
> >
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> > > [11] http://markmail.org/message/l7s276y3xkga2eqf
> > >
> >
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Henry Cai
+1 for Lambda expression.

On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian  wrote:

> +1
>
> On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma  wrote:
>
> > Hi all,
> >
> > I would like to start a discussion on making Java 8 a minimum requirement
> > for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> > is the first discussion on the topic so the idea is to understand how
> > people feel about it. If people feel it's too soon, then we can pick up
> the
> > conversation again after Kafka 0.10.1.0. If the feedback is mostly
> > positive, I will start a vote thread.
> >
> > Let's start with some dates. Java 7 hasn't received public updates since
> > April 2015[1], Java 8 was released in March 2014[2] and Java 9 is
> scheduled
> > to be released in March 2017[3].
> >
> > The first argument for dropping support for Java 7 is that the last
> public
> > release by Oracle contains a large number of known security
> > vulnerabilities. The effectiveness of Kafka's security features is
> reduced
> > if the underlying runtime is not itself secure.
> >
> > The second argument for moving to Java 8 is that it adds a number of
> > compelling features:
> >
> > * Lambda expressions and method references (particularly useful for the
> > Kafka Streams DSL)
> > * Default methods (very useful for maintaining compatibility when adding
> > methods to interfaces)
> > * java.util.stream (helpful for making collection transformations more
> > concise)
> > * Lots of improvements to java.util.concurrent (CompletableFuture,
> > DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> > * Other nice things: SplittableRandom, Optional (and many others I have
> not
> > mentioned)
> >
> > The third argument is that it will simplify our testing matrix, we won't
> > have to test with Java 7 any longer (this is particularly useful for
> system
> > tests that take hours to run). It will also make it easier to support
> Scala
> > 2.12, which requires Java 8.
> >
> > The fourth argument is that many other open-source projects have taken
> the
> > leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> > Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> > support Java 8 in the next version (although it will take a while before
> > most phones will use that version sadly). This reduces (but does not
> > eliminate) the chance that we would be the first project that would
> cause a
> > user to consider a Java upgrade.
> >
> > The main argument for not making the change is that a reasonable number
> of
> > users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> > More specifically, we care about the subset who would be able to upgrade
> to
> > Kafka 0.10.1.0, but would not be able to upgrade the Java version. It
> would
> > be great if we could quantify this in some way.
> >
> > What do you think?
> >
> > Ismael
> >
> > [1] https://java.com/en/download/faq/java_7.xml
> > [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> > [3] http://openjdk.java.net/projects/jdk9/
> > [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> > [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> > [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> > [7] https://issues.apache.org/jira/browse/HADOOP-11858
> > [8] https://webtide.com/jetty-9-3-features/
> > [9] http://markmail.org/message/l7s276y3xkga2eqf
> > [10]
> >
> >
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> > [11] http://markmail.org/message/l7s276y3xkga2eqf
> >
>


Re: [DISCUSS] Java 8 as a minimum requirement

2016-06-16 Thread Rajiv Kurian
+1

On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma  wrote:

> Hi all,
>
> I would like to start a discussion on making Java 8 a minimum requirement
> for Kafka's next feature release (let's say Kafka 0.10.1.0 for now). This
> is the first discussion on the topic so the idea is to understand how
> people feel about it. If people feel it's too soon, then we can pick up the
> conversation again after Kafka 0.10.1.0. If the feedback is mostly
> positive, I will start a vote thread.
>
> Let's start with some dates. Java 7 hasn't received public updates since
> April 2015[1], Java 8 was released in March 2014[2] and Java 9 is scheduled
> to be released in March 2017[3].
>
> The first argument for dropping support for Java 7 is that the last public
> release by Oracle contains a large number of known security
> vulnerabilities. The effectiveness of Kafka's security features is reduced
> if the underlying runtime is not itself secure.
>
> The second argument for moving to Java 8 is that it adds a number of
> compelling features:
>
> * Lambda expressions and method references (particularly useful for the
> Kafka Streams DSL)
> * Default methods (very useful for maintaining compatibility when adding
> methods to interfaces)
> * java.util.stream (helpful for making collection transformations more
> concise)
> * Lots of improvements to java.util.concurrent (CompletableFuture,
> DoubleAdder, DoubleAccumulator, StampedLock, LongAdder, LongAccumulator)
> * Other nice things: SplittableRandom, Optional (and many others I have not
> mentioned)
>
> The third argument is that it will simplify our testing matrix, we won't
> have to test with Java 7 any longer (this is particularly useful for system
> tests that take hours to run). It will also make it easier to support Scala
> 2.12, which requires Java 8.
>
> The fourth argument is that many other open-source projects have taken the
> leap already. Examples are Cassandra[4], Lucene[5], Akka[6], Hadoop 3[7],
> Jetty[8], Eclipse[9], IntelliJ[10] and many others[11]. Even Android will
> support Java 8 in the next version (although it will take a while before
> most phones will use that version sadly). This reduces (but does not
> eliminate) the chance that we would be the first project that would cause a
> user to consider a Java upgrade.
>
> The main argument for not making the change is that a reasonable number of
> users may still be using Java 7 by the time Kafka 0.10.1.0 is released.
> More specifically, we care about the subset who would be able to upgrade to
> Kafka 0.10.1.0, but would not be able to upgrade the Java version. It would
> be great if we could quantify this in some way.
>
> What do you think?
>
> Ismael
>
> [1] https://java.com/en/download/faq/java_7.xml
> [2] https://blogs.oracle.com/thejavatutorials/entry/jdk_8_is_released
> [3] http://openjdk.java.net/projects/jdk9/
> [4] https://github.com/apache/cassandra/blob/trunk/README.asc
> [5] https://lucene.apache.org/#highlights-of-this-lucene-release-include
> [6] http://akka.io/news/2015/09/30/akka-2.4.0-released.html
> [7] https://issues.apache.org/jira/browse/HADOOP-11858
> [8] https://webtide.com/jetty-9-3-features/
> [9] http://markmail.org/message/l7s276y3xkga2eqf
> [10]
>
> https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under
> [11] http://markmail.org/message/l7s276y3xkga2eqf
>