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 ae...@apache.org on 2016/06/01 19:55:34 UTC
[33/39] hadoop git commit: HDFS-9466.
TestShortCircuitCache#testDataXceiverCleansUpSlotsOnFailure is flaky
(Wei-Chiu Chuang via cmccabe)
HDFS-9466. TestShortCircuitCache#testDataXceiverCleansUpSlotsOnFailure is flaky (Wei-Chiu Chuang via cmccabe)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c7921c9b
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c7921c9b
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c7921c9b
Branch: refs/heads/HDFS-1312
Commit: c7921c9bddb79c9db5059b6c3f7a3a586a3cd95b
Parents: 29d6cad
Author: Colin Patrick Mccabe <cm...@cloudera.com>
Authored: Tue May 31 17:37:52 2016 -0700
Committer: Colin Patrick Mccabe <cm...@cloudera.com>
Committed: Tue May 31 17:37:52 2016 -0700
----------------------------------------------------------------------
.../server/datanode/ShortCircuitRegistry.java | 6 ++--
.../shortcircuit/TestShortCircuitCache.java | 34 ++++++++++----------
2 files changed, 20 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/c7921c9b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.java
index 52856af..68ef24e 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/ShortCircuitRegistry.java
@@ -394,12 +394,12 @@ public class ShortCircuitRegistry {
}
public static interface Visitor {
- void accept(HashMap<ShmId, RegisteredShm> segments,
+ boolean accept(HashMap<ShmId, RegisteredShm> segments,
HashMultimap<ExtendedBlockId, Slot> slots);
}
@VisibleForTesting
- public synchronized void visit(Visitor visitor) {
- visitor.accept(segments, slots);
+ public synchronized boolean visit(Visitor visitor) {
+ return visitor.accept(segments, slots);
}
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/c7921c9b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/shortcircuit/TestShortCircuitCache.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/shortcircuit/TestShortCircuitCache.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/shortcircuit/TestShortCircuitCache.java
index f788613..ac14438 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/shortcircuit/TestShortCircuitCache.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/shortcircuit/TestShortCircuitCache.java
@@ -32,6 +32,7 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import java.util.concurrent.TimeoutException;
import org.apache.commons.lang.mutable.MutableBoolean;
import org.apache.commons.logging.Log;
@@ -624,15 +625,22 @@ public class TestShortCircuitCache {
}
static private void checkNumberOfSegmentsAndSlots(final int expectedSegments,
- final int expectedSlots, ShortCircuitRegistry registry) {
- registry.visit(new ShortCircuitRegistry.Visitor() {
+ final int expectedSlots, final ShortCircuitRegistry registry)
+ throws InterruptedException, TimeoutException {
+ GenericTestUtils.waitFor(new Supplier<Boolean>() {
@Override
- public void accept(HashMap<ShmId, RegisteredShm> segments,
- HashMultimap<ExtendedBlockId, Slot> slots) {
- Assert.assertEquals(expectedSegments, segments.size());
- Assert.assertEquals(expectedSlots, slots.size());
+ public Boolean get() {
+ return registry.visit(new ShortCircuitRegistry.Visitor() {
+ @Override
+ public boolean accept(HashMap<ShmId, RegisteredShm> segments,
+ HashMultimap<ExtendedBlockId, Slot> slots) {
+ return (expectedSegments == segments.size()) &&
+ (expectedSlots == slots.size());
+ }
+ });
}
- });
+ }, 100, 10000);
+
}
public static class TestCleanupFailureInjector
@@ -774,16 +782,8 @@ public class TestShortCircuitCache {
DFSTestUtil.createFile(fs, TEST_PATH2, 4096, (short)1, 0xFADE2);
DFSTestUtil.readFileBuffer(fs, TEST_PATH1);
DFSTestUtil.readFileBuffer(fs, TEST_PATH2);
- ShortCircuitRegistry registry =
- cluster.getDataNodes().get(0).getShortCircuitRegistry();
- registry.visit(new ShortCircuitRegistry.Visitor() {
- @Override
- public void accept(HashMap<ShmId, RegisteredShm> segments,
- HashMultimap<ExtendedBlockId, Slot> slots) {
- Assert.assertEquals(1, segments.size());
- Assert.assertEquals(2, slots.size());
- }
- });
+ checkNumberOfSegmentsAndSlots(1, 2,
+ cluster.getDataNodes().get(0).getShortCircuitRegistry());
cluster.shutdown();
sockDir.close();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org