This is an automated email from the ASF dual-hosted git repository. chesnay pushed a commit to branch release-1.11 in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/release-1.11 by this push: new 8d627b8 [FLINK-19252][security] Proactively create the working dir for Jaas security module 8d627b8 is described below commit 8d627b81f4314a74f1939e7ce88bb350f58c2f8d Author: Yangze Guo <karma...@gmail.com> AuthorDate: Tue Oct 27 20:49:01 2020 +0800 [FLINK-19252][security] Proactively create the working dir for Jaas security module --- .../flink/runtime/security/modules/JaasModule.java | 2 +- .../flink/runtime/security/modules/JaasModuleTest.java | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/JaasModule.java b/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/JaasModule.java index dd560ba..16c176b 100644 --- a/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/JaasModule.java +++ b/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/JaasModule.java @@ -159,7 +159,7 @@ public class JaasModule implements SecurityModule { checkArgument(workingDir != null, "working directory should not be null."); final File jaasConfFile; try { - Path path = Paths.get(workingDir); + Path path = Files.createDirectories(Paths.get(workingDir)); Path jaasConfPath = Files.createTempFile(path, "jaas-", ".conf"); try (InputStream resourceStream = JaasModule.class.getClassLoader().getResourceAsStream(JAAS_CONF_RESOURCE_NAME)) { Files.copy(resourceStream, jaasConfPath, StandardCopyOption.REPLACE_EXISTING); diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/security/modules/JaasModuleTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/security/modules/JaasModuleTest.java index d44268d..010a657 100644 --- a/flink-runtime/src/test/java/org/apache/flink/runtime/security/modules/JaasModuleTest.java +++ b/flink-runtime/src/test/java/org/apache/flink/runtime/security/modules/JaasModuleTest.java @@ -47,14 +47,22 @@ public class JaasModuleTest { folder.create(); } - /** - * Test that the jaas config file is created in the working directory. - */ @Test - public void testJaasModuleFilePath() throws IOException { + public void testJaasModuleFilePathIfWorkingDirPresent() throws IOException { File file = folder.newFolder(); - String workingDir = file.toPath().toString(); + testJaasModuleFilePath(file.toPath().toString()); + } + @Test + public void testJaasModuleFilePathIfWorkingDirNotPresent() throws IOException { + File file = folder.newFolder(); + testJaasModuleFilePath(file.toPath().toString() + "/tmp"); + } + + /** + * Test that the jaas config file is created in the working directory. + */ + private void testJaasModuleFilePath(String workingDir) { Configuration configuration = new Configuration(); // set the string for CoreOptions.TMP_DIRS to mock the working directory. configuration.setString(CoreOptions.TMP_DIRS, workingDir);