You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Xuannan Su (Jira)" <ji...@apache.org> on 2022/01/18 05:48:00 UTC

[jira] [Created] (FLINK-25685) RestClusterClient gets stuck on submitting job with local user artifact

Xuannan Su created FLINK-25685:
----------------------------------

             Summary: RestClusterClient gets stuck on submitting job with local user artifact
                 Key: FLINK-25685
                 URL: https://issues.apache.org/jira/browse/FLINK-25685
             Project: Flink
          Issue Type: Bug
          Components: Runtime / REST
    Affects Versions: 1.14.3
            Reporter: Xuannan Su


I found that a job submission gets stuck if StreamExecutionEnvironment#registerCachedFile is called with a local file. After some digging, I found that it gets stuck when the RestClusterClient sends the job-submission request to the JobManager. 

Below is the unit test added to the `RestClusterClientTest` to reproduce the problem on my local machine.


{code:java}
    @Test
    public void testJobSubmissionWithUserArtifact() throws Exception {
        try (final TestRestServerEndpoint restServerEndpoint =
                     createRestServerEndpoint(new TestJobSubmitHandler())) {
            try (RestClusterClient<?> restClusterClient =
                         createRestClusterClient(restServerEndpoint.getServerAddress().getPort())) {

                TemporaryFolder temporaryFolder = new TemporaryFolder();
                temporaryFolder.create();
                File file = temporaryFolder.newFile();
                Files.write(file.toPath(), "hello world".getBytes(ConfigConstants.DEFAULT_CHARSET));
                jobGraph.addUserArtifact("file",
                        new DistributedCache.DistributedCacheEntry(file.toURI().toString(),
                                false));

                restClusterClient
                        .submitJob(jobGraph)
                        .get();
            }
        }
    }
{code}

The test can pass if the `jobGraph.addUserArtifact` is not called.  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)