Josh England created FLINK-35554:
------------------------------------

             Summary: usrlib is not added to classpath when using containers
                 Key: FLINK-35554
                 URL: https://issues.apache.org/jira/browse/FLINK-35554
             Project: Flink
          Issue Type: Bug
          Components: flink-docker
    Affects Versions: 1.19.0
         Environment: Docker
            Reporter: Josh England


We use flink-docker to create a "standalone" application, with a Dockerfile 
like...
 
{code:java}
FROM flink:1.18.1-java17
COPY application.jar /opt/flink/usrlib/artifacts/
{code}

However, after upgrading to 1.19.0 we found our application would not start. We 
saw errors like the following in the logs:


{noformat}
org.apache.flink.util.FlinkException: Could not load the provided entrypoint 
class.
   at 
org.apache.flink.client.program.DefaultPackagedProgramRetriever.getPackagedProgram(DefaultPackagedProgramRetriever.java:230)
   at 
org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint.getPackagedProgram(StandaloneApplicationClusterEntryPoint.java:149)
   at 
org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint.lambda$main$0(StandaloneApplicationClusterEntryPoint.java:90)
   at 
org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:28)
   at 
org.apache.flink.container.entrypoint.StandaloneApplicationClusterEntryPoint.main(StandaloneApplicationClusterEntryPoint.java:89)
   Caused by: org.apache.flink.client.program.ProgramInvocationException: The 
program's entry point class 'XXXXXXXXX' was not found in the jar file.
{noformat}

We were able to fix the issue by placing the application.jar in /opt/flink/lib 
instead. My guess is that the usrlib directory isn't being added to the 
classpath by the shell scripts that launch flink from a container.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to