flink-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Flavio Pompermaier <pomperma...@okkam.it>
Subject Re: Flink cluster and Java 8
Date Thu, 04 Feb 2016 16:45:14 GMT
yes I did

On Thu, Feb 4, 2016 at 5:44 PM, Maximilian Michels <mxm@apache.org> wrote:

> I see. Did you perform a full "mvn clean package -DskipTests" after
> you changed the source level to 1.8?
>
> On Thu, Feb 4, 2016 at 4:33 PM, Flavio Pompermaier <pompermaier@okkam.it>
> wrote:
> > Flink compiles correctly using java 8 as long as you leave java 1.7
> source
> > and target in the maven java compiler.
> > If you change them to 1.8 flink-core doesn't compile anymore.
> >
> > On Thu, Feb 4, 2016 at 4:23 PM, Maximilian Michels <mxm@apache.org>
> wrote:
> >>
> >> Hi Flavio,
> >>
> >> To address your points:
> >>
> >> 1) It runs. That's fine.
> >> 2) It doesn't work to run a Java 8 compiled Flink job with Java 7
> >> Flink cluster if you use Java 8 non-backwards-compatible features in
> >> your job.
> >> 3) I compile Flink daily with Java 8. Also, we have Travis CI tests
> >> which uses OpenJDK and OracaleJDK 7/8 to compile.
> >>
> >> I think there is something wrong with the configuration of your build
> >> setup.
> >>
> >> Cheers,
> >> Max
> >>
> >> On Thu, Feb 4, 2016 at 11:55 AM, Flavio Pompermaier
> >> <pompermaier@okkam.it> wrote:
> >> > I've tested several configurations (also changing my compilation to
> 1.7
> >> > but
> >> > then sesame 4 was causing the error [1]):
> >> >
> >> > Flink compiled with java 1.7 (default), runned within Eclipse with
> Java
> >> > 8:
> >> > OK
> >> > Flink compiled with java 1.7 (default), runned the cluster with java
> 8:
> >> > not
> >> > able to run my job compiled with java 1.8 and causing the reported
> >> > exception
> >> > (unsupported major.minor version)
> >> > Flink compiled with java 1.8: not able to compile without the reported
> >> > modifications, but then the job was running fine
> >> >
> >> > I don't know if you ever tested all those configurations but I'm sure
> it
> >> > wasn't working when deployed in the cluster.
> >> >
> >> > [1] http://rdf4j.org/doc/4/release-notes/4.0.0.docbook?view
> >> >
> >> > On Thu, Feb 4, 2016 at 11:40 AM, Stephan Ewen <sewen@apache.org>
> wrote:
> >> >>
> >> >> Hi!
> >> >>
> >> >> I am running Java 8 for a year without an issue. The code is compiled
> >> >> for
> >> >> target Java 7, but can be run with Java 8.
> >> >> User code that is targeted for Java 8 can be run if Flink is run with
> >> >> Java
> >> >> 8.
> >> >>
> >> >> The initial error you got was because you probably compiled with
> Java 8
> >> >> as
> >> >> the target, and ran it with Java 7.
> >> >>
> >> >> I would just leave the target to be 1.7 and run it in a Java 8 JVM.
> >> >> User
> >> >> code can also be Java 8, that mixes seamlessly.
> >> >>
> >> >> Stephan
> >> >>
> >> >>
> >> >> On Thu, Feb 4, 2016 at 11:34 AM, Flavio Pompermaier
> >> >> <pompermaier@okkam.it>
> >> >> wrote:
> >> >>>
> >> >>> Anyone looking into this? Java 7 reached its end of life at april
> 2015
> >> >>> with its last public update (numer 80) and the ability to run Java
8
> >> >>> jobs
> >> >>> would be more and more important in the future. IMHO, the default
> >> >>> target of
> >> >>> the maven compiler plugin should be set to 1.8 in the 1.0 release.
> In
> >> >>> most
> >> >>> of the cases this would be backward compatible and if it's not
you
> can
> >> >>> always recompile it with 1.7 (but as an exception this time).
> >> >>> Obviously this is not urgent, I just wanted to point this out and
> >> >>> hopefully help someone else facing the same problem
> >> >>>
> >> >>> Best,
> >> >>> Flavio
> >> >>>
> >> >>>
> >> >>> On Wed, Feb 3, 2016 at 3:40 PM, Flavio Pompermaier
> >> >>> <pompermaier@okkam.it>
> >> >>> wrote:
> >> >>>>
> >> >>>> I've fixed it changing the copy method in the TupleSerializer
as
> >> >>>> follow:
> >> >>>>
> >> >>>> @Override
> >> >>>> public T copy(T from, T reuse) {
> >> >>>> for (int i = 0; i < arity; i++) {
> >> >>>> Object copy = fieldSerializers[i].copy(from.getField(i));
> >> >>>> reuse.setField(copy, i);
> >> >>>> }
> >> >>>> return reuse;
> >> >>>> }
> >> >>>>
> >> >>>> And commenting line 50 in CollectionExecutionAccumulatorsTest:
> >> >>>>
> >> >>>> assertEquals(NUM_ELEMENTS,
> >> >>>> result.getAccumulatorResult(ACCUMULATOR_NAME));
> >> >>>>
> >> >>>> I hope it helps..
> >> >>>>
> >> >>>> On Wed, Feb 3, 2016 at 3:12 PM, Flavio Pompermaier
> >> >>>> <pompermaier@okkam.it> wrote:
> >> >>>>>
> >> >>>>> I've checked the compiled classes with javap -verbose and
indeed
> >> >>>>> they
> >> >>>>> had a major.verion=51 (java 7).
> >> >>>>> So I've changed the source and target to 1.8 in the main
pom.xm
> and
> >> >>>>> now
> >> >>>>> the generated .class have major.verion=52.
> >> >>>>> Unfortunately now I get this error:
> >> >>>>>
> >> >>>>> [ERROR]
> >> >>>>>
> >> >>>>>
> /opt/flink-src/flink-java/src/main/java/org/apache/flink/api/java/typeutils/runtime/TupleSerializer.java:[104,63]
> >> >>>>> incompatible types: void cannot be converted to java.lang.Object
> >> >>>>>
> >> >>>>> How can I fix it? I also tried to upgrade the maven compiler
to
> 3.5
> >> >>>>> but
> >> >>>>> it didn't help :(
> >> >>>>>
> >> >>>>> Best,
> >> >>>>> Flavio
> >> >>>>>
> >> >>>>> On Wed, Feb 3, 2016 at 2:38 PM, Flavio Pompermaier
> >> >>>>> <pompermaier@okkam.it> wrote:
> >> >>>>>>
> >> >>>>>> Hi to all,
> >> >>>>>>
> >> >>>>>> I was trying to make my Java 8 application to run on
a Flink
> 0.10.1
> >> >>>>>> cluster.
> >> >>>>>> I've compiled both Flink sources and my app with the
same Java
> >> >>>>>> version
> >> >>>>>> (1.8.72) and I've set the env.java.home to point to
my java 8 JVM
> >> >>>>>> in every
> >> >>>>>> flink-conf.yml of the cluster.
> >> >>>>>>
> >> >>>>>> I always get the following Exception:
> >> >>>>>>
> >> >>>>>> java.lang.UnsupportedClassVersionError: XXX: Unsupported
> >> >>>>>> major.minor
> >> >>>>>> version 52.0
> >> >>>>>>
> >> >>>>>> Is there any other setting I forgot to check? Do I
have to change
> >> >>>>>> also
> >> >>>>>> the source and target to 1.8 in the maven compiler
settings of
> the
> >> >>>>>> main pom?
> >> >>>>>>
> >> >>>>>> Best,
> >> >>>>>> Flavio
> >> >>>>>
> >> >>>>>
> >> >>>>>
> >> >>>>
> >> >>
> >> >
> >> >
> >
> >
>

Mime
View raw message