You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by Ismael Juma <is...@juma.me.uk> on 2016/06/16 20:45:58 UTC

[DISCUSS] Java 8 as a minimum requirement

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

Posted by Manikumar Reddy <ma...@gmail.com>.
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 <marcus.gruendler@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 <is...@juma.me.uk>:
> >
> > 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.gruendler@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

Posted by OGrandeDiEnne <og...@gmail.com>.
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 <ma...@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 <is...@juma.me.uk>:
> >
> > 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

Posted by Damian Guy <da...@gmail.com>.
+1

On Tue, 21 Jun 2016 at 09:59 Marcus Gründler <ma...@aixigo.de>
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 <is...@juma.me.uk>:
> >
> > 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.gruendler@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 <is...@juma.me.uk>:
> >>>
> >>> 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.gruendler@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
> >>
> >>
>
> --
>
> 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.gruendler@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

Posted by Damian Guy <da...@gmail.com>.
+1

On Tue, 21 Jun 2016 at 09:59 Marcus Gründler <ma...@aixigo.de>
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 <is...@juma.me.uk>:
> >
> > 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.gruendler@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 <is...@juma.me.uk>:
> >>>
> >>> 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.gruendler@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
> >>
> >>
>
> --
>
> 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.gruendler@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: Kafka cluster

Posted by Ewen Cheslack-Postava <ew...@confluent.io>.
2 is technically enough but you're at risk of losing data if there is a
failure and the second broker fails while a replacement broker is
replicating the data. In general, 3 brokers (and replicas) is a good
minimum, but there are some cases that might warrant using fewer, even as
few as 1. For example, if it is ok to lose the data in a disaster and you
*really* need to optimize for latency, then you might choose to use fewer
replicas. However, usually that would be an extreme case.

I'd also suggest planning for future expansion. While you may not be
exploiting parallelism today and are only using 1 partition now, if your
workload increases you'll have an annoying migration if you use keys since
adding partitions will change which partition each key goes to. It's better
to plan for expansion an start with more partitions even if you're not
taking advantage of them today.

-Ewen

On Tue, Jun 21, 2016 at 3:37 AM, Snehalata Nagaje <
snehalata.nagaje@harbingergroup.com> wrote:

>
> Hi ,
>
>
> I want to create kafka cluster for HA.
>
> Do we need to create 3 brokers?, or is it okay if create only 2 we are
> using only 1 partition for every topic, there is no parallelism while
> fetching data.
>
> Please suggest.
>
> Thanks,
> Snehalata
>



-- 
Thanks,
Ewen

Kafka cluster

Posted by Snehalata Nagaje <sn...@harbingergroup.com>.
Hi ,


I want to create kafka cluster for HA.

Do we need to create 3 brokers?, or is it okay if create only 2 we are using only 1 partition for every topic, there is no parallelism while fetching data.

Please suggest.

Thanks,
Snehalata

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Marcus Gründler <ma...@aixigo.de>.
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 <is...@juma.me.uk>:
> 
> 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.gruendler@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 <is...@juma.me.uk>:
>>> 
>>> 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.gruendler@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
>> 
>> 

-- 

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.gruendler@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

Posted by Marcus Gründler <ma...@aixigo.de>.
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 <is...@juma.me.uk>:
> 
> 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.gruendler@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 <is...@juma.me.uk>:
>>> 
>>> 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.gruendler@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
>> 
>> 

-- 

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.gruendler@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

Posted by Ismael Juma <is...@juma.me.uk>.
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.gruendler@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 <is...@juma.me.uk>:
> >
> > 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.gruendler@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

Posted by Ismael Juma <is...@juma.me.uk>.
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.gruendler@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 <is...@juma.me.uk>:
> >
> > 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.gruendler@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

Posted by Marcus Gründler <ma...@aixigo.de>.
-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 <is...@juma.me.uk>:
> 
> 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.gruendler@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

Posted by Gerard Klijs <ge...@dizzit.com>.
+1 we already use java 8

On Fri, Jun 17, 2016 at 11:07 AM Jaikiran Pai <ja...@gmail.com>
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

Posted by Jaikiran Pai <ja...@gmail.com>.
+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

Posted by Ismael Juma <is...@juma.me.uk>.
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 <jo...@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 <pp...@yahoo.com.invalid> wrote:
>
> > +1 - wish it was already done with Kafka 0.9 version :)
> >
> >
> >       From: Tommy Becker <to...@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>
> > tobecker@tivo.com<ma...@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

Posted by Joe Stein <jo...@stealth.ly>.
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 <pp...@yahoo.com.invalid> wrote:

> +1 - wish it was already done with Kafka 0.9 version :)
>
>
>       From: Tommy Becker <to...@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>
> tobecker@tivo.com<ma...@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

Posted by Marina <pp...@yahoo.com.INVALID>.
+1 - wish it was already done with Kafka 0.9 version :)


      From: Tommy Becker <to...@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>
tobecker@tivo.com<ma...@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

Posted by Tommy Becker <to...@tivo.com>.
+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>
tobecker@tivo.com<ma...@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

Posted by Tom Crayford <tc...@heroku.com>.
+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 <of...@equalum.io> 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.manor@equalum.io <javascript:;>
>
> On Thu, Jun 16, 2016 at 11:45 PM, Ismael Juma <ismael@juma.me.uk
> <javascript:;>> 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

Posted by Ofir Manor <of...@equalum.io>.
 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.manor@equalum.io

On Thu, Jun 16, 2016 at 11:45 PM, Ismael Juma <is...@juma.me.uk> 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

Posted by Stephen Powis <sp...@salesforce.com>.
+1

On Thu, Jun 16, 2016 at 5:05 PM, Philippe Derome <ph...@gmail.com> 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" <is...@juma.me.uk> 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

Posted by Philippe Derome <ph...@gmail.com>.
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" <jk...@simple.com> wrote:

> On Thu, Jun 16, 2016 at 5:20 PM, Ismael Juma <is...@juma.me.uk> wrote:
>
> > On Thu, Jun 16, 2016 at 11:13 PM, Stephen Boesch <ja...@gmail.com>
> > 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

Posted by Jeff Klukas <jk...@simple.com>.
On Thu, Jun 16, 2016 at 5:20 PM, Ismael Juma <is...@juma.me.uk> wrote:

> On Thu, Jun 16, 2016 at 11:13 PM, Stephen Boesch <ja...@gmail.com>
> 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

Posted by Jeff Klukas <jk...@simple.com>.
On Thu, Jun 16, 2016 at 5:20 PM, Ismael Juma <is...@juma.me.uk> wrote:

> On Thu, Jun 16, 2016 at 11:13 PM, Stephen Boesch <ja...@gmail.com>
> 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

Posted by Ismael Juma <is...@juma.me.uk>.
On Thu, Jun 16, 2016 at 11:13 PM, Stephen Boesch <ja...@gmail.com> 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

Posted by Ismael Juma <is...@juma.me.uk>.
On Thu, Jun 16, 2016 at 11:13 PM, Stephen Boesch <ja...@gmail.com> 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

Posted by Stephen Boesch <ja...@gmail.com>.
@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 <jk...@simple.com>:

> 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 <ph...@gmail.com>
> 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" <is...@juma.me.uk> 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

Posted by Guozhang Wang <wa...@gmail.com>.
I think moving from Java 7 to 8 for Kafka Streams won't be of a big issue.
What specific concerns do you have Jeff?

On Thu, Jun 16, 2016 at 2:12 PM, Jeff Klukas <jk...@simple.com> wrote:

> 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 <ph...@gmail.com>
> 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" <is...@juma.me.uk> 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
> > >
> >
>



-- 
-- Guozhang

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Stephen Boesch <ja...@gmail.com>.
@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 <jk...@simple.com>:

> 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 <ph...@gmail.com>
> 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" <is...@juma.me.uk> 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

Posted by Jeff Klukas <jk...@simple.com>.
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 <ph...@gmail.com> 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" <is...@juma.me.uk> 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

Posted by Jeff Klukas <jk...@simple.com>.
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 <ph...@gmail.com> 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" <is...@juma.me.uk> 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

Posted by Stephen Powis <sp...@salesforce.com>.
+1

On Thu, Jun 16, 2016 at 5:05 PM, Philippe Derome <ph...@gmail.com> 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" <is...@juma.me.uk> 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

Posted by Philippe Derome <ph...@gmail.com>.
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" <is...@juma.me.uk> 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

Posted by Ben Davison <be...@7digital.com>.
+ 1

On Thursday, 16 June 2016, Craig Swift <cr...@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 <hc...@pinterest.com.invalid>
> wrote:
>
> > +1 for Lambda expression.
> >
> > On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <rajiv@signalfx.com
> <javascript:;>> wrote:
> >
> > > +1
> > >
> > > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <ismael@juma.me.uk
> <javascript:;>> 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 2BB.
Registered in England and Wales. Registered No. 04843573.

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Ben Davison <be...@7digital.com>.
+ 1

On Thursday, 16 June 2016, Craig Swift <cr...@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 <hc...@pinterest.com.invalid>
> wrote:
>
> > +1 for Lambda expression.
> >
> > On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <rajiv@signalfx.com
> <javascript:;>> wrote:
> >
> > > +1
> > >
> > > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <ismael@juma.me.uk
> <javascript:;>> 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 2BB.
Registered in England and Wales. Registered No. 04843573.

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Bill Bejeck <bb...@gmail.com>.
+1 for lambda expressions

On Thu, Jun 16, 2016 at 5:13 PM, Grant Henke <gh...@cloudera.com> wrote:

> 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 <ad...@streamsets.com> 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&signature=aabcc9d816de2753
> > >
> >
> > On Thu, Jun 16, 2016 at 1:56 PM, Craig Swift <
> > craig.swift@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 <hcai@pinterest.com.invalid
> >
> > > wrote:
> > >
> > > > +1 for Lambda expression.
> > > >
> > > > On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <ra...@signalfx.com>
> > > wrote:
> > > >
> > > > > +1
> > > > >
> > > > > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk>
> > > 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
> > > > > >
> > > > >
> > > >
> > >
> >
>
>
>
> --
> Grant Henke
> Software Engineer | Cloudera
> grant@cloudera.com | twitter.com/gchenke | linkedin.com/in/granthenke
>

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Pete Wright <pw...@rubiconproject.com>.
On Fri, Jun 17, 2016 at 08:13:52PM +0200, Ismael Juma wrote:
> Hi Harsha,
> 
> Comments below.
> 
> On Fri, Jun 17, 2016 at 7:48 PM, Harsha <ka...@harsha.io> 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.
> >
> 

I agree with this as well - I've actually seen performance degredation
in some use-cases with Java8 vs Java7 on both CentOS and FreeBSD.

IMHO - removing support for JRE7 as part of a minor release would be
very disruptive and I would personally prefer to see this happen as part
of a major release (0.11 for example).

Cheers,
-pete

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

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Alexis Midon <al...@airbnb.com.INVALID>.
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 <is...@juma.me.uk> 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 <ka...@harsha.io> 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 <ka...@harsha.io> 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

Posted by Alexis Midon <al...@airbnb.com.INVALID>.
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 <is...@juma.me.uk> 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 <ka...@harsha.io> 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 <ka...@harsha.io> 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

Posted by Ismael Juma <is...@juma.me.uk>.
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 <ka...@harsha.io> 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 <ka...@harsha.io> 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

Posted by Ismael Juma <is...@juma.me.uk>.
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 <ka...@harsha.io> 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 <ka...@harsha.io> 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

Posted by Harsha <ka...@harsha.io>.
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 <ka...@harsha.io> 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

Posted by Ismael Juma <is...@juma.me.uk>.
Hi Harsha,

Comments below.

On Fri, Jun 17, 2016 at 7:48 PM, Harsha <ka...@harsha.io> 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

Posted by Harsha <ka...@harsha.io>.
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 <ka...@harsha.io> 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, <ja...@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.
> > > >
> > > > Regards
> > > >
> > > > Jan
> >

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Stevo Slavić <ss...@gmail.com>.
+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.vamsi@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 <is...@juma.me.uk> 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 <ka...@harsha.io> 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, <ja...@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.
> > > > >
> > > > > Regards
> > > > >
> > > > > Jan
> > >
> >
>
>
>
> --
> Regards
> Vamsi Subhash
>

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Achanta Vamsi Subhash <ac...@flipkart.com>.
+1 to Java8 - we have already moved to Java8 last year.

On Fri, Jun 17, 2016 at 12:48 PM, Ismael Juma <is...@juma.me.uk> 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 <ka...@harsha.io> 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, <ja...@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.
> > > >
> > > > Regards
> > > >
> > > > Jan
> >
>



-- 
Regards
Vamsi Subhash

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Philippe Derome <ph...@gmail.com>.
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" <is...@juma.me.uk> 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 <ka...@harsha.io> 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, <ja...@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.
> > > >
> > > > Regards
> > > >
> > > > Jan
> >
>

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Ismael Juma <is...@juma.me.uk>.
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 <ka...@harsha.io> 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, <ja...@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.
> > >
> > > Regards
> > >
> > > Jan
>

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Harsha <ka...@harsha.io>.
-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, <ja...@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.
> >
> > Regards
> >
> > Jan

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Ismael Juma <is...@juma.me.uk>.
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, <ja...@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.
>
> Regards
>
> Jan

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Pete Wright <pw...@rubiconproject.com>.
On Fri, Jun 17, 2016 at 12:02:17AM +0200, jan.omar@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
pwright@rubiconproject.com
310.309.9298

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Ismael Juma <is...@juma.me.uk>.
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, <ja...@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.
>
> Regards
>
> Jan

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Pete Wright <pw...@rubiconproject.com>.
On Fri, Jun 17, 2016 at 12:02:17AM +0200, jan.omar@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
pwright@rubiconproject.com
310.309.9298

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by ja...@wooga.net.
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

Posted by ja...@wooga.net.
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

Posted by Ismael Juma <is...@juma.me.uk>.
Hi Grant,

Comments below.

On Thu, Jun 16, 2016 at 11:13 PM, Grant Henke <gh...@cloudera.com> 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

Posted by Ismael Juma <is...@juma.me.uk>.
Hi Grant,

Comments below.

On Thu, Jun 16, 2016 at 11:13 PM, Grant Henke <gh...@cloudera.com> 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

Posted by Grant Henke <gh...@cloudera.com>.
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 <ad...@streamsets.com> 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&signature=aabcc9d816de2753
> >
>
> On Thu, Jun 16, 2016 at 1:56 PM, Craig Swift <
> craig.swift@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 <hc...@pinterest.com.invalid>
> > wrote:
> >
> > > +1 for Lambda expression.
> > >
> > > On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <ra...@signalfx.com>
> > wrote:
> > >
> > > > +1
> > > >
> > > > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk>
> > 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
> > > > >
> > > >
> > >
> >
>



-- 
Grant Henke
Software Engineer | Cloudera
grant@cloudera.com | twitter.com/gchenke | linkedin.com/in/granthenke

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by Grant Henke <gh...@cloudera.com>.
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 <ad...@streamsets.com> 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&signature=aabcc9d816de2753
> >
>
> On Thu, Jun 16, 2016 at 1:56 PM, Craig Swift <
> craig.swift@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 <hc...@pinterest.com.invalid>
> > wrote:
> >
> > > +1 for Lambda expression.
> > >
> > > On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <ra...@signalfx.com>
> > wrote:
> > >
> > > > +1
> > > >
> > > > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk>
> > 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
> > > > >
> > > >
> > >
> >
>



-- 
Grant Henke
Software Engineer | Cloudera
grant@cloudera.com | twitter.com/gchenke | linkedin.com/in/granthenke

Re: [DISCUSS] Java 8 as a minimum requirement

Posted by BigData dev <bi...@gmail.com>.
+1.


Thanks,
Bharat

On Thu, Jun 16, 2016 at 1:59 PM, Adam Kunicki <ad...@streamsets.com> 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&signature=aabcc9d816de2753
> >
>
> On Thu, Jun 16, 2016 at 1:56 PM, Craig Swift <
> craig.swift@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 <hc...@pinterest.com.invalid>
> > wrote:
> >
> > > +1 for Lambda expression.
> > >
> > > On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <ra...@signalfx.com>
> > wrote:
> > >
> > > > +1
> > > >
> > > > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk>
> > 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

Posted by Adam Kunicki <ad...@streamsets.com>.
+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&signature=aabcc9d816de2753>

On Thu, Jun 16, 2016 at 1:56 PM, Craig Swift <
craig.swift@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 <hc...@pinterest.com.invalid>
> wrote:
>
> > +1 for Lambda expression.
> >
> > On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <ra...@signalfx.com>
> wrote:
> >
> > > +1
> > >
> > > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk>
> 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

Posted by Adam Kunicki <ad...@streamsets.com>.
+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&signature=aabcc9d816de2753>

On Thu, Jun 16, 2016 at 1:56 PM, Craig Swift <
craig.swift@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 <hc...@pinterest.com.invalid>
> wrote:
>
> > +1 for Lambda expression.
> >
> > On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <ra...@signalfx.com>
> wrote:
> >
> > > +1
> > >
> > > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk>
> 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

Posted by Craig Swift <cr...@returnpath.com.INVALID>.
+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 <hc...@pinterest.com.invalid>
wrote:

> +1 for Lambda expression.
>
> On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <ra...@signalfx.com> wrote:
>
> > +1
> >
> > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk> 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

Posted by Craig Swift <cr...@returnpath.com.INVALID>.
+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 <hc...@pinterest.com.invalid>
wrote:

> +1 for Lambda expression.
>
> On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <ra...@signalfx.com> wrote:
>
> > +1
> >
> > On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk> 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

Posted by Henry Cai <hc...@pinterest.com.INVALID>.
+1 for Lambda expression.

On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <ra...@signalfx.com> wrote:

> +1
>
> On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk> 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

Posted by Henry Cai <hc...@pinterest.com.INVALID>.
+1 for Lambda expression.

On Thu, Jun 16, 2016 at 1:48 PM, Rajiv Kurian <ra...@signalfx.com> wrote:

> +1
>
> On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk> 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

Posted by Rajiv Kurian <ra...@signalfx.com>.
+1

On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk> 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

Posted by Philippe Derome <ph...@gmail.com>.
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" <is...@juma.me.uk> 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

Posted by Rajiv Kurian <ra...@signalfx.com>.
+1

On Thu, Jun 16, 2016 at 1:45 PM, Ismael Juma <is...@juma.me.uk> 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

Posted by Marcus Gründler <ma...@aixigo.de>.
-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 <is...@juma.me.uk>:
> 
> 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.gruendler@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