Browse Source

HDFS-13337. Backport HDFS-4275 to branch-2.9. Contributed by Xiao Liang.

Inigo Goiri 7 years ago
parent
commit
4276a858f8

+ 4 - 1
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockRecovery.java

@@ -126,6 +126,7 @@ public class TestBlockRecovery {
   private DataNode spyDN;
   private DataNode spyDN;
   private BlockRecoveryWorker recoveryWorker;
   private BlockRecoveryWorker recoveryWorker;
   private Configuration conf;
   private Configuration conf;
+  private boolean tearDownDone;
   private final static long RECOVERY_ID = 3000L;
   private final static long RECOVERY_ID = 3000L;
   private final static String CLUSTER_ID = "testClusterID";
   private final static String CLUSTER_ID = "testClusterID";
   private final static String POOL_ID = "BP-TEST";
   private final static String POOL_ID = "BP-TEST";
@@ -156,6 +157,7 @@ public class TestBlockRecovery {
    */
    */
   @Before
   @Before
   public void startUp() throws IOException, URISyntaxException {
   public void startUp() throws IOException, URISyntaxException {
+    tearDownDone = false;
     conf = new HdfsConfiguration();
     conf = new HdfsConfiguration();
     conf.set(DFSConfigKeys.DFS_DATANODE_DATA_DIR_KEY, DATA_DIR);
     conf.set(DFSConfigKeys.DFS_DATANODE_DATA_DIR_KEY, DATA_DIR);
     conf.set(DFSConfigKeys.DFS_DATANODE_ADDRESS_KEY, "0.0.0.0:0");
     conf.set(DFSConfigKeys.DFS_DATANODE_ADDRESS_KEY, "0.0.0.0:0");
@@ -252,7 +254,7 @@ public class TestBlockRecovery {
    */
    */
   @After
   @After
   public void tearDown() throws IOException {
   public void tearDown() throws IOException {
-    if (dn != null) {
+    if (!tearDownDone && dn != null) {
       try {
       try {
         dn.shutdown();
         dn.shutdown();
       } catch(Exception e) {
       } catch(Exception e) {
@@ -263,6 +265,7 @@ public class TestBlockRecovery {
           Assert.assertTrue(
           Assert.assertTrue(
               "Cannot delete data-node dirs", FileUtil.fullyDelete(dir));
               "Cannot delete data-node dirs", FileUtil.fullyDelete(dir));
       }
       }
+      tearDownDone = true;
     }
     }
   }
   }