You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beam.apache.org by Michał Walenia <mi...@polidea.com> on 2019/04/24 11:39:07 UTC

JDK 11 compatibility testing

Hi all,

I’m currently working on enhancing a Beam test suite to check compatibility
with Java 11 UDFs. As JDK11 introduces several useful features, I wanted to
turn to the Devlist to gather your opinions on which features should be
included in the DoFn.

To give you an idea of how the test will be designed, I’m planning to
create a test pipeline with a custom DoFn which will use JDK11 specific
features. This test will be compiled with JDK11 and ran using a binary of
Beam built with JDK8 in order to simulate a situation in which the user
downloads the Beam from Maven repository and uses it in their project built
in Java 11.

The features I believe are worth checking are:


   -

   String manipulation methods:
   -

      .repeat
      -

      stripTrailing, stripLeading and strip()
      -

      isBlank
      -

      Lines
      -

   RegEx asMatchPredicate
   -

   Local parameter type inference in lambda expressions
   -

   Optional::isEmpty
   -

   Collection::toArray
   -

   Path API change - Path::of


I don’t think that checking other new features in Java 11 such as flight
recording or new HTTP client which we probably won’t use in Beam is
justified, but I’m open to suggestions and discussion.

Which of those new features should be included in the DoFn applied in the
test?

I will be grateful for any input.

Have a good day

Michal


-- 

Michał Walenia
Polidea <https://www.polidea.com/> | Software Engineer

M: +48 791 432 002 <+48791432002>
E: michal.walenia@polidea.com

We create human & business stories through technology.
Check out our projects! <https://www.polidea.com/our-work>

Re: JDK 11 compatibility testing

Posted by Robert Bradshaw <ro...@google.com>.
It seems to me that we can assume that if Beam is running in a Java 11
runtime, any Java 11 features used in the body of a DoFn should just work.
The interesting part will be whether there is anything on the boundary that
changes (e.g. are there changes to type inference rules that make them
stricter and/or smarter, or places where we reach into implementation
details like bytecode generation (with the full permutation of signature
options we support)).

Tests of this, of course, are critical.

On Wed, Apr 24, 2019 at 1:39 PM Michał Walenia <mi...@polidea.com>
wrote:

> Hi all,
>
> I’m currently working on enhancing a Beam test suite to check
> compatibility with Java 11 UDFs. As JDK11 introduces several useful
> features, I wanted to turn to the Devlist to gather your opinions on which
> features should be included in the DoFn.
>
> To give you an idea of how the test will be designed, I’m planning to
> create a test pipeline with a custom DoFn which will use JDK11 specific
> features. This test will be compiled with JDK11 and ran using a binary of
> Beam built with JDK8 in order to simulate a situation in which the user
> downloads the Beam from Maven repository and uses it in their project built
> in Java 11.
>
> The features I believe are worth checking are:
>
>
>    -
>
>    String manipulation methods:
>    -
>
>       .repeat
>       -
>
>       stripTrailing, stripLeading and strip()
>       -
>
>       isBlank
>       -
>
>       Lines
>       -
>
>    RegEx asMatchPredicate
>    -
>
>    Local parameter type inference in lambda expressions
>    -
>
>    Optional::isEmpty
>    -
>
>    Collection::toArray
>    -
>
>    Path API change - Path::of
>
>
> I don’t think that checking other new features in Java 11 such as flight
> recording or new HTTP client which we probably won’t use in Beam is
> justified, but I’m open to suggestions and discussion.
>
> Which of those new features should be included in the DoFn applied in the
> test?
>
> I will be grateful for any input.
>
> Have a good day
>
> Michal
>
>
> --
>
> Michał Walenia
> Polidea <https://www.polidea.com/> | Software Engineer
>
> M: +48 791 432 002 <+48791432002>
> E: michal.walenia@polidea.com
>
> We create human & business stories through technology.
> Check out our projects! <https://www.polidea.com/our-work>
>