This is an automated email from the ASF dual-hosted git repository.
fcsaky pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new 8aceaaa8d42 [FLINK-35833][clients] Skip trying to create parents for
"user.artifacts.base-dir" when fetching a "local://" artifact
8aceaaa8d42 is described below
commit 8aceaaa8d42c1d8d3ea32750db6d346e24c2c3e6
Author: Ferenc Csaky <[email protected]>
AuthorDate: Mon Oct 14 19:48:07 2024 +0200
[FLINK-35833][clients] Skip trying to create parents for
"user.artifacts.base-dir" when fetching a "local://" artifact
---
.../client/program/artifact/ArtifactFetchManager.java | 3 ---
.../flink/client/program/artifact/FsArtifactFetcher.java | 2 ++
.../client/program/artifact/HttpArtifactFetcher.java | 2 ++
.../client/program/artifact/ArtifactFetchManagerTest.java | 15 +++++++++++++++
4 files changed, 19 insertions(+), 3 deletions(-)
diff --git
a/flink-clients/src/main/java/org/apache/flink/client/program/artifact/ArtifactFetchManager.java
b/flink-clients/src/main/java/org/apache/flink/client/program/artifact/ArtifactFetchManager.java
index 42683b9139b..f37d303e12f 100644
---
a/flink-clients/src/main/java/org/apache/flink/client/program/artifact/ArtifactFetchManager.java
+++
b/flink-clients/src/main/java/org/apache/flink/client/program/artifact/ArtifactFetchManager.java
@@ -90,7 +90,6 @@ public class ArtifactFetchManager {
public Result fetchArtifacts(String[] uris) {
checkArgument(uris != null && uris.length > 0, "At least one URI is
required.");
- ArtifactUtils.createMissingParents(baseDir);
List<File> artifacts =
Arrays.stream(uris)
.map(FunctionUtils.uncheckedFunction(this::fetchArtifact))
@@ -120,9 +119,7 @@ public class ArtifactFetchManager {
throws Exception {
checkArgument(jobUri != null && !jobUri.trim().isEmpty(), "The jobUri
is required.");
- ArtifactUtils.createMissingParents(baseDir);
File jobJar = fetchArtifact(jobUri);
-
List<File> additionalArtifacts =
additionalUris == null
? Collections.emptyList()
diff --git
a/flink-clients/src/main/java/org/apache/flink/client/program/artifact/FsArtifactFetcher.java
b/flink-clients/src/main/java/org/apache/flink/client/program/artifact/FsArtifactFetcher.java
index caa40858fe2..41b10ac9006 100644
---
a/flink-clients/src/main/java/org/apache/flink/client/program/artifact/FsArtifactFetcher.java
+++
b/flink-clients/src/main/java/org/apache/flink/client/program/artifact/FsArtifactFetcher.java
@@ -35,6 +35,8 @@ class FsArtifactFetcher extends ArtifactFetcher {
@Override
File fetch(String uri, Configuration flinkConf, File targetDir) throws
Exception {
+ ArtifactUtils.createMissingParents(targetDir);
+
Path source = new Path(uri);
long start = System.currentTimeMillis();
FileSystem fileSystem = source.getFileSystem();
diff --git
a/flink-clients/src/main/java/org/apache/flink/client/program/artifact/HttpArtifactFetcher.java
b/flink-clients/src/main/java/org/apache/flink/client/program/artifact/HttpArtifactFetcher.java
index 70303f85f77..473fa0ce553 100644
---
a/flink-clients/src/main/java/org/apache/flink/client/program/artifact/HttpArtifactFetcher.java
+++
b/flink-clients/src/main/java/org/apache/flink/client/program/artifact/HttpArtifactFetcher.java
@@ -39,6 +39,8 @@ class HttpArtifactFetcher extends ArtifactFetcher {
@Override
File fetch(String uri, Configuration flinkConf, File targetDir) throws
IOException {
+ ArtifactUtils.createMissingParents(targetDir);
+
long start = System.currentTimeMillis();
URL url = new URL(uri);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
diff --git
a/flink-clients/src/test/java/org/apache/flink/client/program/artifact/ArtifactFetchManagerTest.java
b/flink-clients/src/test/java/org/apache/flink/client/program/artifact/ArtifactFetchManagerTest.java
index b55d38163df..d27ab8deac5 100644
---
a/flink-clients/src/test/java/org/apache/flink/client/program/artifact/ArtifactFetchManagerTest.java
+++
b/flink-clients/src/test/java/org/apache/flink/client/program/artifact/ArtifactFetchManagerTest.java
@@ -169,6 +169,21 @@ class ArtifactFetchManagerTest {
assertThat(dummyFetcher.fetchCount).isZero();
}
+ @Test
+ void testLocalFetcherNotCreatesBaseDir() throws Exception {
+ Path nonExistingPath =
+
tempDir.resolve("non").resolve("existing").resolve("path").toAbsolutePath();
+ configuration.set(ArtifactFetchOptions.BASE_DIR,
nonExistingPath.toString());
+
+ File sourceFile = TestingUtils.getClassFile(getClass());
+ String uriStr = "local://" + sourceFile.toURI().getPath();
+
+ ArtifactFetchManager fetchMgr = new
ArtifactFetchManager(configuration);
+ fetchMgr.fetchArtifacts(uriStr, null);
+
+ assertThat(nonExistingPath.getParent().getParent()).doesNotExist();
+ }
+
@Test
void testHttpDisabledError() {
ArtifactFetchManager fetchMgr = new
ArtifactFetchManager(configuration);