Github user zentol commented on a diff in the pull request: https://github.com/apache/flink/pull/6107#discussion_r194705137 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/jobgraph/JobGraph.java --- @@ -584,17 +584,25 @@ public void uploadUserArtifacts(InetSocketAddress blobServerAddress, Configurati if (!userArtifacts.isEmpty()) { try (BlobClient blobClient = new BlobClient(blobServerAddress, clientConfig)) { for (Map.Entry<String, DistributedCache.DistributedCacheEntry> userArtifact : userArtifacts.entrySet()) { - - final PermanentBlobKey key = blobClient.uploadFile(jobID, - new Path(userArtifact.getValue().filePath)); - - DistributedCache.writeFileInfoToConfig( - userArtifact.getKey(), - new DistributedCache.DistributedCacheEntry( - userArtifact.getValue().filePath, - userArtifact.getValue().isExecutable, - InstantiationUtil.serializeObject(key)), - jobConfiguration); + Path filePath = new Path(userArtifact.getValue().filePath); + + if (filePath.getFileSystem().isDistributedFS()) { --- End diff -- The file-system class may not be accessible on the client, so you have to guard this with a try-catch block and write it into the config in both cases.
---