You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ch...@apache.org on 2018/07/26 08:33:29 UTC

[flink] 02/03: [FLINK-9939][runtime] Add null check before setting tmp dirs in config.

This is an automated email from the ASF dual-hosted git repository.

chesnay pushed a commit to annotated tag release-1.5.2-rc2
in repository https://gitbox.apache.org/repos/asf/flink.git

commit c373eb91852d2a6fd76bd392ab8bb54c93ffc2ae
Author: gyao <ga...@data-artisans.com>
AuthorDate: Wed Jul 25 13:57:34 2018 +0200

    [FLINK-9939][runtime] Add null check before setting tmp dirs in config.
    
    This closes #6418.
---
 .../apache/flink/runtime/clusterframework/BootstrapTools.java    | 9 ++++++---
 .../flink/runtime/clusterframework/BootstrapToolsTest.java       | 6 ++++++
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/clusterframework/BootstrapTools.java b/flink-runtime/src/main/java/org/apache/flink/runtime/clusterframework/BootstrapTools.java
index b43946c..4e43480 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/clusterframework/BootstrapTools.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/clusterframework/BootstrapTools.java
@@ -46,6 +46,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.annotation.Nullable;
+
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -480,12 +482,13 @@ public class BootstrapTools {
 	 * @param configuration flink config to patch
 	 * @param defaultDirs in case no tmp directories is set, next directories will be applied
 	 */
-	public static void updateTmpDirectoriesInConfiguration(Configuration configuration, String defaultDirs){
+	public static void updateTmpDirectoriesInConfiguration(
+			Configuration configuration,
+			@Nullable String defaultDirs) {
 		if (configuration.contains(CoreOptions.TMP_DIRS)) {
 			LOG.info("Overriding Fink's temporary file directories with those " +
 				"specified in the Flink config: {}", configuration.getValue(CoreOptions.TMP_DIRS));
-		}
-		else {
+		} else if (defaultDirs != null) {
 			LOG.info("Setting directories for temporary files to: {}", defaultDirs);
 			configuration.setString(CoreOptions.TMP_DIRS, defaultDirs);
 			configuration.setBoolean(USE_LOCAL_DEFAULT_TMP_DIRS, true);
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/clusterframework/BootstrapToolsTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/clusterframework/BootstrapToolsTest.java
index 3519450..d1f32cf 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/clusterframework/BootstrapToolsTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/clusterframework/BootstrapToolsTest.java
@@ -299,4 +299,10 @@ public class BootstrapToolsTest {
 		assertEquals(config.getString(CoreOptions.TMP_DIRS), "");
 	}
 
+	@Test
+	public void testShouldNotUpdateTmpDirectoriesInConfigurationIfNoValueConfigured() {
+		Configuration config = new Configuration();
+		BootstrapTools.updateTmpDirectoriesInConfiguration(config, null);
+		assertEquals(config.getString(CoreOptions.TMP_DIRS), CoreOptions.TMP_DIRS.defaultValue());
+	}
 }