You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ar...@apache.org on 2015/12/01 22:33:47 UTC
[1/2] hadoop git commit: HDFS-6533.
TestBPOfferService#testBasicFunctionalitytest fails intermittently.
(Contributed by Wei-Chiu Chuang)
Repository: hadoop
Updated Branches:
refs/heads/branch-2 7e416aa70 -> 0a1ef49b3
refs/heads/trunk 830eb252a -> 58f6f54ee
HDFS-6533. TestBPOfferService#testBasicFunctionalitytest fails intermittently. (Contributed by Wei-Chiu Chuang)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/58f6f54e
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/58f6f54e
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/58f6f54e
Branch: refs/heads/trunk
Commit: 58f6f54eeac779428ac995d196b60ffb90563f97
Parents: 830eb25
Author: Arpit Agarwal <ar...@apache.org>
Authored: Tue Dec 1 13:32:32 2015 -0800
Committer: Arpit Agarwal <ar...@apache.org>
Committed: Tue Dec 1 13:32:32 2015 -0800
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 ++
.../hdfs/server/datanode/BPServiceActor.java | 4 +++
.../server/datanode/TestBPOfferService.java | 32 +++++++++++++++++++-
3 files changed, 38 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/58f6f54e/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index 3f31f3e..3e1718d 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -2424,6 +2424,9 @@ Release 2.8.0 - UNRELEASED
HDFS-9336. deleteSnapshot throws NPE when snapshotname is null.
(Brahma Reddy Battula via aajisaka)
+ HDFS-6533. TestBPOfferService#testBasicFunctionalitytest fails
+ intermittently. (Wei-Chiu Chuang via Arpit Agarwal)
+
Release 2.7.3 - UNRELEASED
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/58f6f54e/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java
index 0316535..1b72961 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java
@@ -127,6 +127,10 @@ class BPServiceActor implements Runnable {
scheduler = new Scheduler(dnConf.heartBeatInterval, dnConf.blockReportInterval);
}
+ public DatanodeRegistration getBpRegistration() {
+ return bpRegistration;
+ }
+
boolean isAlive() {
if (!shouldServiceRun || !bpThread.isAlive()) {
return false;
http://git-wip-us.apache.org/repos/asf/hadoop/blob/58f6f54e/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBPOfferService.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBPOfferService.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBPOfferService.java
index ab69bb0..cb5f272 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBPOfferService.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBPOfferService.java
@@ -180,7 +180,7 @@ public class TestBPOfferService {
BPOfferService bpos = setupBPOSForNNs(mockNN1, mockNN2);
bpos.start();
try {
- waitForInitialization(bpos);
+ waitForBothActors(bpos);
// The DN should have register to both NNs.
Mockito.verify(mockNN1).registerDatanode(
@@ -205,6 +205,7 @@ public class TestBPOfferService {
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -235,6 +236,7 @@ public class TestBPOfferService {
} finally {
bpos.stop();
+ bpos.join();
}
// Should ignore the delete command from the standby
@@ -260,6 +262,7 @@ public class TestBPOfferService {
waitForOneToFail(bpos);
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -307,6 +310,7 @@ public class TestBPOfferService {
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -349,6 +353,7 @@ public class TestBPOfferService {
waitForBlockReport(mockNN1, mockNN2);
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -403,6 +408,27 @@ public class TestBPOfferService {
}
}, 100, 10000);
}
+
+ private void waitForBothActors(final BPOfferService bpos)
+ throws Exception {
+ GenericTestUtils.waitFor(new Supplier<Boolean>() {
+ @Override
+ public Boolean get() {
+ List<BPServiceActor> actors = bpos.getBPServiceActors();
+
+ return bpos.isAlive() && getRegisteredActors(actors) == 2;
+ }
+ private int getRegisteredActors(List<BPServiceActor> actors) {
+ int regActors = 0;
+ for (BPServiceActor actor : actors) {
+ if (actor.getBpRegistration() != null) {
+ regActors++;
+ }
+ }
+ return regActors;
+ }
+ }, 100, 10000);
+ }
private void waitForBlockReport(final DatanodeProtocolClientSideTranslatorPB mockNN)
throws Exception {
@@ -540,6 +566,7 @@ public class TestBPOfferService {
difference < 5000);
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -579,6 +606,7 @@ public class TestBPOfferService {
+ " processing ", difference < 5000);
} finally {
bpos.stop();
+ bpos.join();
}
}
/**
@@ -624,6 +652,7 @@ public class TestBPOfferService {
+ "when errorReport threw IOException", secondCallTime != 0);
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -675,6 +704,7 @@ public class TestBPOfferService {
.reportBadBlocks(Mockito.any(LocatedBlock[].class));
} finally {
bpos.stop();
+ bpos.join();
}
}
}
[2/2] hadoop git commit: HDFS-6533.
TestBPOfferService#testBasicFunctionalitytest fails intermittently.
(Contributed by Wei-Chiu Chuang)
Posted by ar...@apache.org.
HDFS-6533. TestBPOfferService#testBasicFunctionalitytest fails intermittently. (Contributed by Wei-Chiu Chuang)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/0a1ef49b
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/0a1ef49b
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/0a1ef49b
Branch: refs/heads/branch-2
Commit: 0a1ef49b33c4acd90c14d3d47dc33b625f56a707
Parents: 7e416aa
Author: Arpit Agarwal <ar...@apache.org>
Authored: Tue Dec 1 13:32:32 2015 -0800
Committer: Arpit Agarwal <ar...@apache.org>
Committed: Tue Dec 1 13:32:37 2015 -0800
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 ++
.../hdfs/server/datanode/BPServiceActor.java | 4 +++
.../server/datanode/TestBPOfferService.java | 32 +++++++++++++++++++-
3 files changed, 38 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/0a1ef49b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index 5987902..ff86c9f 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -1562,6 +1562,9 @@ Release 2.8.0 - UNRELEASED
HDFS-9336. deleteSnapshot throws NPE when snapshotname is null.
(Brahma Reddy Battula via aajisaka)
+ HDFS-6533. TestBPOfferService#testBasicFunctionalitytest fails
+ intermittently. (Wei-Chiu Chuang via Arpit Agarwal)
+
Release 2.7.3 - UNRELEASED
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/0a1ef49b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java
index 0316535..1b72961 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BPServiceActor.java
@@ -127,6 +127,10 @@ class BPServiceActor implements Runnable {
scheduler = new Scheduler(dnConf.heartBeatInterval, dnConf.blockReportInterval);
}
+ public DatanodeRegistration getBpRegistration() {
+ return bpRegistration;
+ }
+
boolean isAlive() {
if (!shouldServiceRun || !bpThread.isAlive()) {
return false;
http://git-wip-us.apache.org/repos/asf/hadoop/blob/0a1ef49b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBPOfferService.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBPOfferService.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBPOfferService.java
index ab69bb0..cb5f272 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBPOfferService.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBPOfferService.java
@@ -180,7 +180,7 @@ public class TestBPOfferService {
BPOfferService bpos = setupBPOSForNNs(mockNN1, mockNN2);
bpos.start();
try {
- waitForInitialization(bpos);
+ waitForBothActors(bpos);
// The DN should have register to both NNs.
Mockito.verify(mockNN1).registerDatanode(
@@ -205,6 +205,7 @@ public class TestBPOfferService {
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -235,6 +236,7 @@ public class TestBPOfferService {
} finally {
bpos.stop();
+ bpos.join();
}
// Should ignore the delete command from the standby
@@ -260,6 +262,7 @@ public class TestBPOfferService {
waitForOneToFail(bpos);
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -307,6 +310,7 @@ public class TestBPOfferService {
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -349,6 +353,7 @@ public class TestBPOfferService {
waitForBlockReport(mockNN1, mockNN2);
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -403,6 +408,27 @@ public class TestBPOfferService {
}
}, 100, 10000);
}
+
+ private void waitForBothActors(final BPOfferService bpos)
+ throws Exception {
+ GenericTestUtils.waitFor(new Supplier<Boolean>() {
+ @Override
+ public Boolean get() {
+ List<BPServiceActor> actors = bpos.getBPServiceActors();
+
+ return bpos.isAlive() && getRegisteredActors(actors) == 2;
+ }
+ private int getRegisteredActors(List<BPServiceActor> actors) {
+ int regActors = 0;
+ for (BPServiceActor actor : actors) {
+ if (actor.getBpRegistration() != null) {
+ regActors++;
+ }
+ }
+ return regActors;
+ }
+ }, 100, 10000);
+ }
private void waitForBlockReport(final DatanodeProtocolClientSideTranslatorPB mockNN)
throws Exception {
@@ -540,6 +566,7 @@ public class TestBPOfferService {
difference < 5000);
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -579,6 +606,7 @@ public class TestBPOfferService {
+ " processing ", difference < 5000);
} finally {
bpos.stop();
+ bpos.join();
}
}
/**
@@ -624,6 +652,7 @@ public class TestBPOfferService {
+ "when errorReport threw IOException", secondCallTime != 0);
} finally {
bpos.stop();
+ bpos.join();
}
}
@@ -675,6 +704,7 @@ public class TestBPOfferService {
.reportBadBlocks(Mockito.any(LocatedBlock[].class));
} finally {
bpos.stop();
+ bpos.join();
}
}
}