From 2ed90a57fdd31d194b4a690df68b158ed9743dba Mon Sep 17 00:00:00 2001 From: Jian He Date: Tue, 9 Dec 2014 16:47:24 -0800 Subject: [PATCH] YARN-2930. Fixed TestRMRestart#testRMRestartRecoveringNodeLabelManager intermittent failure. Contributed by Wangda Tan --- hadoop-yarn-project/CHANGES.txt | 3 +++ .../yarn/server/resourcemanager/TestRMRestart.java | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index d87322ffab7..0173782750c 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -206,6 +206,9 @@ Release 2.7.0 - UNRELEASED YARN-2910. FSLeafQueue can throw ConcurrentModificationException. (Wilfred Spiegelenburg via kasha) + YARN-2930. Fixed TestRMRestart#testRMRestartRecoveringNodeLabelManager + intermittent failure. (Wangda Tan via jianhe) + Release 2.6.0 - 2014-11-18 INCOMPATIBLE CHANGES diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java index 29f0208f28e..fcb2be78737 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java @@ -39,6 +39,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.apache.commons.io.FileUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.CommonConfigurationKeysPublic; import org.apache.hadoop.io.DataOutputBuffer; @@ -2048,6 +2049,19 @@ public class TestRMRestart extends ParameterizedSchedulerTestBase { // 4. Get cluster and node lobel, it should be present by recovering it @Test(timeout = 20000) public void testRMRestartRecoveringNodeLabelManager() throws Exception { + // Initial FS node label store root dir to a random tmp dir + File nodeLabelFsStoreDir = + new File("target", this.getClass().getSimpleName() + + "-testRMRestartRecoveringNodeLabelManager"); + if (nodeLabelFsStoreDir.exists()) { + FileUtils.deleteDirectory(nodeLabelFsStoreDir); + } + nodeLabelFsStoreDir.deleteOnExit(); + + String nodeLabelFsStoreDirURI = nodeLabelFsStoreDir.toURI().toString(); + conf.set(YarnConfiguration.FS_NODE_LABELS_STORE_ROOT_DIR, + nodeLabelFsStoreDirURI); + MemoryRMStateStore memStore = new MemoryRMStateStore(); memStore.init(conf); MockRM rm1 = new MockRM(conf, memStore) {