Thank you for reporting / filing / collecting the issues.

There is a fix pending: https://github.com/apache/beam/pull/10950

As for the upgrade issues, the 1.8 and 1.9 upgrade is trivial. I will check out the Flink 1.10 PR tomorrow.

Cheers,
Max

On 24.02.20 09:26, Ismaël Mejía wrote:
We are cutting the release branch for 2.20.0 next wednesday, so not sure if these tickets will make it, but hopefully.

For ref,
BEAM-9295 Add Flink 1.10 build target and Make FlinkRunner compatible with Flink 1.10
BEAM-9299 Upgrade Flink Runner to 1.8.3 and 1.9.2

In any case if you have cycles to help test any of the related tickets PRs that would help too.


On Mon, Feb 24, 2020 at 8:47 AM Kaymak, Tobias <[email protected] <mailto:[email protected]>> wrote:

    Hi Kyle,

    thank you for creating the JIRA ticket, I think my best option right
    now is to wait for a Beam version that is running on Flink 1.10 then
    - unless there is a new Beam release around the corner :)

    Best,
    Tobi

    On Thu, Feb 20, 2020 at 11:52 PM Kyle Weaver <[email protected]
    <mailto:[email protected]>> wrote:

        Hi Tobi,

        This seems like a bug with Beam 2.19. I filed
        https://issues.apache.org/jira/browse/BEAM-9345 to track the issue.

         > What puzzles me is that the session cluster should be allowed
        to have multiple environments in detached mode - or am I wrong?

        It looks like that check is removed in Flink 1.10:
        https://issues.apache.org/jira/browse/FLINK-15201

        Thanks for reporting.
        Kyle

        On Thu, Feb 20, 2020 at 4:10 AM Kaymak, Tobias
        <[email protected] <mailto:[email protected]>> wrote:

            Hello,

            I am trying to upgrade from a Flink session cluster 1.8 to
            1.9 and from Beam 2.16.0 to 2.19.0.
            Everything went quite smoothly, the local runner and the
            local Flink runner work flawlessly.

            However when I:
               1. Generate a Beam jar for the FlinkRunner via maven (mvn
            package -PFlinkRunner)
               2. Glue that into a Flink 1.9 docker image
               3. Start the image as a Standalone Session Cluster

            When I try to launch the first pipeline I get the following
            exception

            org.apache.flink.client.program.ProgramInvocationException:
            The main method caused an error: Failed to construct
            instance from factory method
            FlinkRunner#fromOptions(interface
            org.apache.beam.sdk.options.PipelineOptions)
                     at
            
org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:593)
                     at
            
org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:438)
                     at
            
org.apache.flink.client.program.ClusterClient.run(ClusterClient.java:274)
                     at
            
org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:746)
                     at
            
org.apache.flink.client.cli.CliFrontend.runProgram(CliFrontend.java:273)
                     at
            org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:205)
                     at
            
org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:1010)
                     at
            
org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1083)
                     at
            
org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
                     at
            org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1083)
            Caused by: java.lang.RuntimeException: Failed to construct
            instance from factory method
            FlinkRunner#fromOptions(interface
            org.apache.beam.sdk.options.PipelineOptions)
                     at
            
org.apache.beam.sdk.util.InstanceBuilder.buildFromMethod(InstanceBuilder.java:224)
                     at
            
org.apache.beam.sdk.util.InstanceBuilder.build(InstanceBuilder.java:155)
                     at
            
org.apache.beam.sdk.PipelineRunner.fromOptions(PipelineRunner.java:55)
                     at org.apache.beam.sdk.Pipeline.run(Pipeline.java:309)
                     at org.apache.beam.sdk.Pipeline.run(Pipeline.java:301)
                     at
            ch.ricardo.di.beam.KafkaToBigQuery.main(KafkaToBigQuery.java:180)
                     at
            sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                     at
            
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                     at
            
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                     at java.lang.reflect.Method.invoke(Method.java:498)
                     at
            
org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:576)
                     ... 9 more
            Caused by: java.lang.reflect.InvocationTargetException
                     at
            sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                     at
            
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                     at
            
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                     at java.lang.reflect.Method.invoke(Method.java:498)
                     at
            
org.apache.beam.sdk.util.InstanceBuilder.buildFromMethod(InstanceBuilder.java:214)
                     ... 19 more
            Caused by:
            org.apache.flink.api.common.InvalidProgramException:
            Multiple environments cannot be created in detached mode
                     at
            
org.apache.flink.client.program.ContextEnvironmentFactory.createExecutionEnvironment(ContextEnvironmentFactory.java:67)
                     at java.util.Optional.map(Optional.java:215)
                     at
            
org.apache.flink.api.java.ExecutionEnvironment.getExecutionEnvironment(ExecutionEnvironment.java:1068)
                     at
            
org.apache.beam.runners.flink.translation.utils.Workarounds.restoreOriginalStdOutAndStdErrIfApplicable(Workarounds.java:43)
                     at
            
org.apache.beam.runners.flink.FlinkRunner.<init>(FlinkRunner.java:96)
                     at
            
org.apache.beam.runners.flink.FlinkRunner.fromOptions(FlinkRunner.java:90)
                     ... 24 more

            I've checked the release notes and the issues and couldn't
            find anything that relates to this. What puzzles me is that
            the session cluster should be allowed to have multiple
            environments in detached mode - or am I wrong?

            Best,
            Tobi



--
    Tobias Kaymak
    Data Engineer
    Data Intelligence

    [email protected] <mailto:[email protected]>
    www.ricardo.ch <http://www.ricardo.ch/>
    Theilerstrasse 1a, 6300 Zug

Reply via email to