Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-29288

Can't start a job with a jar in the system classpath

    XMLWordPrintableJSON

Details

    Description

      I'm using the latest (unreleased) version of the Kubernetes operator.

      It looks like currently, it's impossible to use it with a job jar file in the system classpath (/opt/flink/lib). jarURI is required and it's always passed as a pipeline.jars parameter to the Flink process. In practice, it means that the same class is loaded twice: once by the system classloader and another time by the user classloader. This leads to exceptions like this:

      java.lang.LinkageError: loader constraint violation: when resolving method 'XXX' the class loader org.apache.flink.util.ChildFirstClassLoader @47a5b70d of the current class, YYY, and the class loader 'app' for the method's defining class, ZZZ, have different Class objects for the type AAA used in the signature

      In my opinion, jarURI must be made optional even for the application mode. In this case, it's assumed that it's already available in the system classpath.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              sap1ens Yaroslav Tkachenko
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: