Should this be considered a backwards-incompatible change? If so, do we
need to wait until Beam 3.0.0 is released?

On Tue, Oct 17, 2017 at 9:11 AM, Ismaël Mejía <ieme...@gmail.com> wrote:

> I am bringing the subject to the user mailing list to get some
> feedback because it makes sense anyway to discuss this there. But I
> also agree with Kenneth about the fact that runner authors must weight
> in on this subject.
>
>
> On Tue, Oct 17, 2017 at 5:24 PM, Kenneth Knowles <k...@google.com.invalid>
> wrote:
> > +1 to having runner maintainers weigh in as proxies. Added a few in case
> > they haven't followed this thread.
> >
> > On Mon, Oct 16, 2017 at 11:38 PM, Eugene Kirpichov <
> > kirpic...@google.com.invalid> wrote:
> >
> >> Agreed that polling Dataflow users makes sense, though I think they are
> >> very unlikely to have concerns, because unlike Spark/Flink users they
> >> wouldn't have a "cluster" that they need to migrate to a new JVM: they'd
> >> only need to recompile their pipelines with JDK 8.
> >>
> >> On Mon, Oct 16, 2017 at 11:21 PM Reuven Lax <re...@google.com.invalid>
> >> wrote:
> >>
> >> > I think the Flink and Spark runner maintainers can weigh in here;
> given
> >> > that both of those systems are moving to Java 8, I doubt they will
> have
> >> > concerns. Same is true for the Dataflow runner - we should probably
> poll
> >> > Dataflow users to make sure this is not a problem for any of them.
> >> >
> >> > On Mon, Oct 16, 2017 at 11:05 PM, Eugene Kirpichov <
> >> > kirpic...@google.com.invalid> wrote:
> >> >
> >> > > Reuven - do you mean e.g. a poll on the Flink mailing list asking
> >> whether
> >> > > there are Flink users who use Beam with Java 7? Or just people who
> use
> >> > > Flink with Java 7? (the latter question I'd assume was settled by
> the
> >> > poll
> >> > > about making Flink itself Java8-only?)
> >> > >
> >> > > On Mon, Oct 16, 2017 at 10:32 PM Reuven Lax
> <re...@google.com.invalid>
> >> > > wrote:
> >> > >
> >> > > > I don't know if a vote in @user is sufficient, as it's
> unfortunately
> >> > not
> >> > > > representative of all Beam users. I think the runner communities
> >> should
> >> > > be
> >> > > > polled as well (though I suspect the answer will be the same,
> that we
> >> > can
> >> > > > go ahead and deprecate Java 7 support).
> >> > > >
> >> > > > On Mon, Oct 16, 2017 at 4:50 PM, Eugene Kirpichov <
> >> > > > kirpic...@google.com.invalid> wrote:
> >> > > >
> >> > > > > Yeah, a vote on user@ sounds like a good idea. Ismaël, would
> you
> >> be
> >> > > > > interested in driving this process, since you're already
> working on
> >> > > Java9
> >> > > > > support and hence you have a good understanding of what's
> involved
> >> > in a
> >> > > > JDK
> >> > > > > version migration for a large project?
> >> > > > >
> >> > > > > As due diligence, we can look at how the other data processing
> >> > systems
> >> > > > > handled dropping Java7.
> >> > > > >
> >> > > > > Flink:
> >> > > > > JIRA https://issues.apache.org/jira/browse/FLINK-7242
> >> > > > > Discussion
> >> > > > > http://apache-flink-user-mailing-list-archive.2336050.
> >> > > > > n4.nabble.com/POLL-Who-still-uses-Java-7-with-Flink-
> td12216.html
> >> > > > >
> >> > > > > They also did a Twitter poll in addition to the mailing list
> poll,
> >> > > which
> >> > > > > seems like a good idea.
> >> > > > > Note that Flink had a number of strong reasons for dropping
> Java7
> >> > that
> >> > > do
> >> > > > > not apply in Beam.
> >> > > > >
> >> > > > > Spark:
> >> > > > > JIRA https://issues.apache.org/jira/browse/SPARK-19493
> >> > > > > Discussion
> >> > > > >
> >> > > > http://apache-spark-developers-list.1001551.n3.
> >> > > nabble.com/discuss-ending-
> >> > > > > support-for-Java-7-in-Spark-2-0-td16808.html
> >> > > > > (I
> >> > > > > couldn't find a formal poll of the user list rather than
> developer
> >> > > list)
> >> > > > >
> >> > > > > Hadoop:
> >> > > > > Hadoop 3.0 is Java8-only, but I couldn't quickly find a
> discussion
> >> of
> >> > > > where
> >> > > > > that decision was made.
> >> > > > > https://lists.apache.org/thread.html/e5c8085ada2cca47027b63f
> >> 5439839
> >> > > > > 731a392335770386e10895be06@1444091751@%3Cmapreduce-dev.
> >> > > > > hadoop.apache.org%3E
> >> > > > > might
> >> > > > > be it.
> >> > > > >
> >> > > > > Kafka is considering it:
> >> > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-
> >> > > > > 118%3A+Drop+Support+for+Java+7+in+Kafka+0.11
> >> > > > > and
> >> > > > > quotes a number of other open-source projects that have switched
> >> > > > > http://markmail.org/message/l7s276y3xkga2eqf
> >> > > > >
> >> > > > > So basically these projects all did a mailing list poll, and one
> >> did
> >> > > > also a
> >> > > > > twitter poll.
> >> > > > >
> >> > > > > Beam has the advantage of being a relatively young project with
> >> > > perhaps a
> >> > > > > smaller base of users entrenched in using old versions of Java;
> >> > > moreover,
> >> > > > > Java version would matter only for the smaller subset of users
> who
> >> > use
> >> > > > Beam
> >> > > > > Spark/Flink/Apex/.. runners (as opposed to Cloud Dataflow),
> which
> >> is
> >> > > > likely
> >> > > > > an even more "early adopter"-ish group of users, as these
> runners
> >> > > > generally
> >> > > > > receive less support.
> >> > > > >
> >> > > > > It may be a good idea to have at least 1 release pass between
> >> > > announcing
> >> > > > > the intention to drop Java8 and actually dropping it (e.g. if we
> >> > > decided
> >> > > > it
> >> > > > > now, then 2.4 would drop Java7). Also, we could start by
> switching
> >> > > tests
> >> > > > to
> >> > > > > compile/run with java8 (Maven allows this). This is, I think,
> >> pretty
> >> > > much
> >> > > > > safe to do immediately.
> >> > > > >
> >> > > > > On Mon, Oct 16, 2017 at 7:35 AM Ismaël Mejía <ieme...@gmail.com
> >
> >> > > wrote:
> >> > > > >
> >> > > > > > Any progress on this? What is the proposed way to validate if
> >> users
> >> > > > > > are still interested on Java 7? A vote on user or something
> >> > > different?
> >> > > > > >
> >> > > > > >
> >> > > > > > On Wed, Sep 27, 2017 at 7:59 PM, Kenneth Knowles
> >> > > > <k...@google.com.invalid
> >> > > > > >
> >> > > > > > wrote:
> >> > > > > > > Agree with polling Beam users as well as each runner's
> >> community
> >> > in
> >> > > > > > > aggregate.
> >> > > > > > >
> >> > > > > > > On Wed, Sep 27, 2017 at 9:44 AM, Jean-Baptiste Onofré <
> >> > > > j...@nanthrax.net
> >> > > > > >
> >> > > > > > > wrote:
> >> > > > > > >
> >> > > > > > >> Definitely agree
> >> > > > > > >>
> >> > > > > > >>
> >> > > > > > >> On 09/27/2017 06:00 PM, Robert Bradshaw wrote:
> >> > > > > > >>
> >> > > > > > >>> I also think that it's time to seriously consider dropping
> >> > > support
> >> > > > > for
> >> > > > > > >>> Java 7.
> >> > > > > > >>>
> >> > > > > > >>> On Tue, Sep 26, 2017 at 9:14 PM, Daniel Oliveira
> >> > > > > > >>> <danolive...@google.com.invalid> wrote:
> >> > > > > > >>>
> >> > > > > > >>>> Yes, just as Ismaël said it's a compilation blocker right
> >> now
> >> > > > > despite
> >> > > > > > >>>> that
> >> > > > > > >>>> (I believe) we don't use the extension that's breaking.
> >> > > > > > >>>>
> >> > > > > > >>>> As for other ways to solve this, if there is a way to
> avoid
> >> > > > > compiling
> >> > > > > > the
> >> > > > > > >>>> advanced features of AutoValue that might be worth a
> try. We
> >> > > could
> >> > > > > > also
> >> > > > > > >>>> try
> >> > > > > > >>>> to get a release of AutoValue with the fix that works in
> >> Java
> >> > 7.
> >> > > > > > However
> >> > > > > > >>>> I
> >> > > > > > >>>> feel that slowly moving over to Java 8 is the most
> >> > future-proof
> >> > > > > > solution
> >> > > > > > >>>> if
> >> > > > > > >>>> it's possible.
> >> > > > > > >>>>
> >> > > > > > >>>> On Tue, Sep 26, 2017 at 2:47 PM, Ismaël Mejía <
> >> > > ieme...@gmail.com>
> >> > > > > > wrote:
> >> > > > > > >>>>
> >> > > > > > >>>> The current issue is that compilation fails on master
> >> because
> >> > > > beam's
> >> > > > > > >>>>> parent pom is configured to fail if it finds warnings):
> >> > > > > > >>>>>
> >> > > > > > >>>>>      <compiler.error.flag>-Werror</compiler.error.flag>
> >> > > > > > >>>>>
> >> > > > > > >>>>> However if you remove that line from the parent pom the
> >> > > > compilation
> >> > > > > > >>>>> passes.
> >> > > > > > >>>>>
> >> > > > > > >>>>> Of course this does not mean that everything is solved
> for
> >> > Java
> >> > > > 9,
> >> > > > > > >>>>> there are some tests that break and other issues
> because of
> >> > > other
> >> > > > > > >>>>> plugins and dependencies (e.g. bytebuddy), but those are
> >> not
> >> > > part
> >> > > > > of
> >> > > > > > >>>>> this discussion.
> >> > > > > > >>>>>
> >> > > > > > >>>>> On Tue, Sep 26, 2017 at 11:38 PM, Eugene Kirpichov
> >> > > > > > >>>>> <kirpic...@google.com.invalid> wrote:
> >> > > > > > >>>>>
> >> > > > > > >>>>>> AFAIK we don't use any advanced capabilities of
> AutoValue.
> >> > > Does
> >> > > > > that
> >> > > > > > >>>>>> mean
> >> > > > > > >>>>>> this issue is moot? I didn't quite understand from your
> >> > email
> >> > > > > > whether
> >> > > > > > >>>>>> it
> >> > > > > > >>>>>>
> >> > > > > > >>>>> is
> >> > > > > > >>>>>
> >> > > > > > >>>>>> a compilation blocker for Beam or not.
> >> > > > > > >>>>>>
> >> > > > > > >>>>>> On Tue, Sep 26, 2017 at 2:32 PM Ismaël Mejía <
> >> > > ieme...@gmail.com
> >> > > > >
> >> > > > > > >>>>>> wrote:
> >> > > > > > >>>>>>
> >> > > > > > >>>>>> Great that you are also working on this too Daniel and
> >> > thanks
> >> > > > for
> >> > > > > > >>>>>>> bringing this subject to the mailing list, I was
> waiting
> >> to
> >> > > my
> >> > > > > > return
> >> > > > > > >>>>>>> to office next week, but you did it first :)
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>> Eugene for reference (This is the issue on the
> migration
> >> to
> >> > > > Java
> >> > > > > > 9),
> >> > > > > > >>>>>>> notice that here the goal is first that beam passes
> mvn
> >> > clean
> >> > > > > > install
> >> > > > > > >>>>>>> with pure Java 9 (and also add this to jenkins), not
> to
> >> > > rewrite
> >> > > > > > >>>>>>> anything to use the new stuff (e.g. modules):
> >> > > > > > >>>>>>> https://issues.apache.org/jira/browse/BEAM-2530
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>> Eugene can you also PTAL at the AutoValue issue, more
> >> > details
> >> > > > on
> >> > > > > > the
> >> > > > > > >>>>>>> issue, this is a warning so I don't know if it is
> really
> >> > > > critical
> >> > > > > > in
> >> > > > > > >>>>>>> particular because we are not using Memoization (do
> we?).
> >> > > > > > >>>>>>> https://github.com/google/auto/issues/503
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>
> >> > > > > >
> >> > https://github.com/google/auto/commit/71514081f2ca6fb4ead2b7f0a25f5d
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>> 02247b8532
> >> > > > > > >>>>>
> >> > > > > > >>>>>>
> >> > > > > > >>>>>>> Wouldn't the easiest way be that you guys convince the
> >> > > > > google.auto
> >> > > > > > >>>>>>> guys to generate that simple fix in a Java 7
> compatible
> >> way
> >> > > and
> >> > > > > > >>>>>>> 'voila' ?
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>> However I agree that moving to Java 8 is an excellent
> >> idea
> >> > > and
> >> > > > as
> >> > > > > > >>>>>>> Eugene mentions there is less friction now since most
> >> > > projects
> >> > > > > are
> >> > > > > > >>>>>>> moving, only pending issue are existing clusters on
> java
> >> 7
> >> > in
> >> > > > the
> >> > > > > > >>>>>>> hadoop world, but those are less frequent now. Anyway
> >> this
> >> > > > > > discussion
> >> > > > > > >>>>>>> is really important (maybe even worth a vote). Because
> >> > moving
> >> > > > to
> >> > > > > > Java
> >> > > > > > >>>>>>> 8 will allow us also to move some of the dependencies
> >> that
> >> > we
> >> > > > are
> >> > > > > > >>>>>>> keeping in old versions and in general to move
> forward.
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>> What do the others think ?
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>> On Tue, Sep 26, 2017 at 11:09 PM, Eugene Kirpichov
> >> > > > > > >>>>>>> <kirpic...@google.com.invalid> wrote:
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>> Very excited to hear that there's work on JDK9
> support -
> >> > is
> >> > > > > there
> >> > > > > > a
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>> public
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>> description of the plans for this work somewhere?
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>>> In general, Beam could probably drop Java7 support
> >> > > altogether
> >> > > > at
> >> > > > > > some
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>> point
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>> soon: Java7 has reached end-of-life (i.e. it's not
> >> > receiving
> >> > > > > even
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>> security
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>> patches) 2 years ago, and all major players in the
> data
> >> > > > > processing
> >> > > > > > >>>>>>>> ecosystem have dropped Java7 support (Spark, Flink,
> >> > Hadoop),
> >> > > > so
> >> > > > > I
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>> presume
> >> > > > > > >>>>>
> >> > > > > > >>>>>> the demand for Java7 support in the data processing
> >> industry
> >> > > is
> >> > > > > low.
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>> By
> >> > > > > > >>>>>
> >> > > > > > >>>>>> the
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>> way: would a Java8 migration be in the scope of your
> >> work
> >> > in
> >> > > > > > general?
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>>> However, until we say that Beam requires Java8, what
> >> would
> >> > > be
> >> > > > > the
> >> > > > > > >>>>>>>> implications of using a version of AutoValue that can
> >> only
> >> > > be
> >> > > > > > >>>>>>>> compiled
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>> with
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>> Java8? Are you saying that this is simply a matter
> of a
> >> > > > compiler
> >> > > > > > bug,
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>> and
> >> > > > > > >>>>>
> >> > > > > > >>>>>> if we use a Java8 compiler but configured to use source
> >> and
> >> > > > target
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>> versions
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>> of 1.7 and using bootclasspath of rt.jar from 1.7,
> then
> >> > the
> >> > > > > > resulting
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>> Beam
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>> artifacts will be usable by people who don't have
> Java8?
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>>> On Tue, Sep 26, 2017 at 1:53 PM Daniel Oliveira
> >> > > > > > >>>>>>>> <danolive...@google.com.invalid> wrote:
> >> > > > > > >>>>>>>>
> >> > > > > > >>>>>>>> So I've been working on JDK 9 support for Beam, and I
> >> > have a
> >> > > > bug
> >> > > > > > in
> >> > > > > > >>>>>>>>> AutoValue that can be fixed by updating our
> AutoValue
> >> > > > > dependency
> >> > > > > > to
> >> > > > > > >>>>>>>>>
> >> > > > > > >>>>>>>> the
> >> > > > > > >>>>>
> >> > > > > > >>>>>> latest. The problem is that AutoValue from 1.5+ seems
> to
> >> be
> >> > > > banned
> >> > > > > > >>>>>>>>>
> >> > > > > > >>>>>>>> for
> >> > > > > > >>>>>
> >> > > > > > >>>>>> Beam
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>> due to requiring Java 8 compilers. However, it should
> >> > still
> >> > > be
> >> > > > > > >>>>>>>>>
> >> > > > > > >>>>>>>> possible
> >> > > > > > >>>>>
> >> > > > > > >>>>>> to
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>> compile and execute Java 7 code from the Java 8
> compiler
> >> > by
> >> > > > > > building
> >> > > > > > >>>>>>>>>
> >> > > > > > >>>>>>>> with
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>>>> the correct arguments. So the fix to this bug would
> >> > > > essentially
> >> > > > > > >>>>>>>>>
> >> > > > > > >>>>>>>> require
> >> > > > > > >>>>>
> >> > > > > > >>>>>> Java 8 compilers even for compiling Java 7 code.
> >> > > > > > >>>>>>>>>
> >> > > > > > >>>>>>>>> Does anyone need to use Java 7 compilers? Because if
> >> not
> >> > I
> >> > > > > would
> >> > > > > > >>>>>>>>>
> >> > > > > > >>>>>>>> like to
> >> > > > > > >>>>>
> >> > > > > > >>>>>> continue with this fix.
> >> > > > > > >>>>>>>>>
> >> > > > > > >>>>>>>>>
> >> > > > > > >>>>>>>
> >> > > > > > >>>>>
> >> > > > > > >> --
> >> > > > > > >> Jean-Baptiste Onofré
> >> > > > > > >> jbono...@apache.org
> >> > > > > > >> http://blog.nanthrax.net
> >> > > > > > >> Talend - http://www.talend.com
> >> > > > > > >>
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
>

Reply via email to