+1 for lambda expressions

On Thu, Jun 16, 2016 at 5:13 PM, Grant Henke <ghe...@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 <a...@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.sw...@returnpath.com.invalid> wrote:
> >
> > > +1
> > >
> > > Craig J. Swift
> > > Principal Software Engineer - Data Pipeline
> > > ReturnPath Inc.
> > > Work: 303-999-3220 Cell: 720-560-7038
> > >
> > > On Thu, Jun 16, 2016 at 2:50 PM, Henry Cai <h...@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 <ism...@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
> gr...@cloudera.com | twitter.com/gchenke | linkedin.com/in/granthenke
>

Reply via email to