Hi,

I just dug into the code where this issue is getting highlighted, I
observed 2 different implementations of the class are getting loaded in
classpath.

Beam-flink runner is bringing the 1.12.2 version of the flink_clients which
has this class definition. And at runtime Flink Server is getting a 1.12.7
version of the same class definition.

1.12.2 method implementation coming from beam-flink-runner

private Builder(String[] programArguments) {
      this.programArguments =
Objects.<String[]>requireNonNull(programArguments);
    }


1.12.7 method implementation present in FlinkServer

private Builder(String[] programArguments, Configuration configuration) {
      this.programArguments =
Objects.<String[]>requireNonNull(programArguments);
      this.configuration =
Objects.<Configuration>requireNonNull(configuration);
    }


But this should not happen right as Beam flinkRunner in version 2.29.0
supports 1.12.x of Flink version. Is it bug or am I missing something?
If it's a bug any jira is raised against this issue.?

References:
https://mvnrepository.com/artifact/org.apache.beam/beam-runners-flink-1.12/2.29.0

https://beam.apache.org/documentation/runners/flink/#flink-version-compatibility


Thanks & Regards,
Sujay

On Mon, Jan 17, 2022 at 11:58 PM Luke Cwik <[email protected]> wrote:

> +user <[email protected]> -dev
>
> This looks like you have a dependency conflict issue. Is that the whole
> stack trace or is there more?
> Also, in my experience Java only emits the full failure reason the first
> time this dependency issue exists. Future failures are effectively cached
> and any suppressed exceptions and other failures are typically no longer
> available to help debug this issue so finding the first failure can provide
> more detail.
>
> Finally, https://jlbp.dev/ has great information about Java dependency
> management best practices. It will only help slightly with your immediate
> problem as it can explain concepts and why things fail this way but it also
> provides lots of helpful information to improve dependency management in
> general within your projects.
>
> On Mon, Jan 17, 2022 at 1:44 AM sujay kulkarni <[email protected]>
> wrote:
>
>>
>> Hi all,
>>
>> I am trying a sample beam job using flinkRunner.
>> *Beam-version -- 2.29.0*
>> *Flink server -- 1.12.7*
>> When running the job, I am getting below issue in the jobmanager logs
>>
>> *Exception in thread "main" java.lang.NoSuchMethodError:
>> 'org.apache.flink.client.deployment.application.ClassPathPackagedProgramRetriever$Builder*
>> *org.apache.flink.client.deployment.application.ClassPathPackagedProgramRetriever.newBuilder(java.lang.String[],
>> org.apache.flink.configuration.Configuration)'*
>> *        at
>> org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint.getPackagedProgramRetriever(StandaloneApplicationClusterEntryPoint.java:117)*
>> *        at
>> org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint.getPackagedProgram(StandaloneApplicationClusterEntryPoint.java:103)*
>> *        at
>> org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint.main(StandaloneApplicationClusterEntryPoint.java:69)*
>>
>> Seems like the issue at classpath. I checked the compatibility matrix of
>> beam flink runner and in version 2.29.0, Flink 1.12.x is supported,
>>
>> Please help me with the issue I am facing.
>>
>> Thanks and Regards,
>> Sujay
>>
>

Reply via email to