|
@@ -136,30 +136,25 @@ public class TestReplicationPolicy {
|
|
|
HdfsConstants.MIN_BLOCKS_FOR_WRITE*BLOCK_SIZE, 0L, 4, 0); // overloaded
|
|
|
|
|
|
DatanodeDescriptor[] targets;
|
|
|
- targets = replicator.chooseTarget(filename, 0, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(0);
|
|
|
assertEquals(targets.length, 0);
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 1, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1);
|
|
|
assertEquals(targets.length, 1);
|
|
|
assertEquals(targets[0], dataNodes[0]);
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 2, dataNodes[0], new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(2);
|
|
|
assertEquals(targets.length, 2);
|
|
|
assertEquals(targets[0], dataNodes[0]);
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], targets[1]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 3, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(3);
|
|
|
assertEquals(targets.length, 3);
|
|
|
assertEquals(targets[0], dataNodes[0]);
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], targets[1]));
|
|
|
assertTrue(cluster.isOnSameRack(targets[1], targets[2]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 4, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(4);
|
|
|
assertEquals(targets.length, 4);
|
|
|
assertEquals(targets[0], dataNodes[0]);
|
|
|
assertTrue(cluster.isOnSameRack(targets[1], targets[2]) ||
|
|
@@ -171,15 +166,38 @@ public class TestReplicationPolicy {
|
|
|
HdfsConstants.MIN_BLOCKS_FOR_WRITE*BLOCK_SIZE, 0L, 0, 0);
|
|
|
}
|
|
|
|
|
|
+ private static DatanodeDescriptor[] chooseTarget(int numOfReplicas) {
|
|
|
+ return chooseTarget(numOfReplicas, dataNodes[0]);
|
|
|
+ }
|
|
|
+
|
|
|
+ private static DatanodeDescriptor[] chooseTarget(int numOfReplicas,
|
|
|
+ DatanodeDescriptor writer) {
|
|
|
+ return chooseTarget(numOfReplicas, writer,
|
|
|
+ new ArrayList<DatanodeDescriptor>());
|
|
|
+ }
|
|
|
+
|
|
|
+ private static DatanodeDescriptor[] chooseTarget(int numOfReplicas,
|
|
|
+ List<DatanodeDescriptor> chosenNodes) {
|
|
|
+ return chooseTarget(numOfReplicas, dataNodes[0], chosenNodes);
|
|
|
+ }
|
|
|
+
|
|
|
+ private static DatanodeDescriptor[] chooseTarget(int numOfReplicas,
|
|
|
+ DatanodeDescriptor writer, List<DatanodeDescriptor> chosenNodes) {
|
|
|
+ return chooseTarget(numOfReplicas, writer, chosenNodes, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ private static DatanodeDescriptor[] chooseTarget(int numOfReplicas,
|
|
|
+ List<DatanodeDescriptor> chosenNodes, Map<Node, Node> excludedNodes) {
|
|
|
+ return chooseTarget(numOfReplicas, dataNodes[0], chosenNodes, excludedNodes);
|
|
|
+ }
|
|
|
+
|
|
|
private static DatanodeDescriptor[] chooseTarget(
|
|
|
- BlockPlacementPolicyDefault policy,
|
|
|
int numOfReplicas,
|
|
|
DatanodeDescriptor writer,
|
|
|
List<DatanodeDescriptor> chosenNodes,
|
|
|
- HashMap<Node, Node> excludedNodes,
|
|
|
- long blocksize) {
|
|
|
- return policy.chooseTarget(numOfReplicas, writer, chosenNodes, false,
|
|
|
- excludedNodes, blocksize);
|
|
|
+ Map<Node, Node> excludedNodes) {
|
|
|
+ return replicator.chooseTarget(filename, numOfReplicas, writer, chosenNodes,
|
|
|
+ false, excludedNodes, BLOCK_SIZE);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -194,28 +212,24 @@ public class TestReplicationPolicy {
|
|
|
public void testChooseTarget2() throws Exception {
|
|
|
HashMap<Node, Node> excludedNodes;
|
|
|
DatanodeDescriptor[] targets;
|
|
|
- BlockPlacementPolicyDefault repl = (BlockPlacementPolicyDefault)replicator;
|
|
|
List<DatanodeDescriptor> chosenNodes = new ArrayList<DatanodeDescriptor>();
|
|
|
|
|
|
excludedNodes = new HashMap<Node, Node>();
|
|
|
excludedNodes.put(dataNodes[1], dataNodes[1]);
|
|
|
- targets = chooseTarget(repl, 0, dataNodes[0], chosenNodes, excludedNodes,
|
|
|
- BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(0, chosenNodes, excludedNodes);
|
|
|
assertEquals(targets.length, 0);
|
|
|
|
|
|
excludedNodes.clear();
|
|
|
chosenNodes.clear();
|
|
|
excludedNodes.put(dataNodes[1], dataNodes[1]);
|
|
|
- targets = chooseTarget(repl, 1, dataNodes[0], chosenNodes, excludedNodes,
|
|
|
- BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1, chosenNodes, excludedNodes);
|
|
|
assertEquals(targets.length, 1);
|
|
|
assertEquals(targets[0], dataNodes[0]);
|
|
|
|
|
|
excludedNodes.clear();
|
|
|
chosenNodes.clear();
|
|
|
excludedNodes.put(dataNodes[1], dataNodes[1]);
|
|
|
- targets = chooseTarget(repl, 2, dataNodes[0], chosenNodes, excludedNodes,
|
|
|
- BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(2, chosenNodes, excludedNodes);
|
|
|
assertEquals(targets.length, 2);
|
|
|
assertEquals(targets[0], dataNodes[0]);
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], targets[1]));
|
|
@@ -223,8 +237,7 @@ public class TestReplicationPolicy {
|
|
|
excludedNodes.clear();
|
|
|
chosenNodes.clear();
|
|
|
excludedNodes.put(dataNodes[1], dataNodes[1]);
|
|
|
- targets = chooseTarget(repl, 3, dataNodes[0], chosenNodes, excludedNodes,
|
|
|
- BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(3, chosenNodes, excludedNodes);
|
|
|
assertEquals(targets.length, 3);
|
|
|
assertEquals(targets[0], dataNodes[0]);
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], targets[1]));
|
|
@@ -233,8 +246,7 @@ public class TestReplicationPolicy {
|
|
|
excludedNodes.clear();
|
|
|
chosenNodes.clear();
|
|
|
excludedNodes.put(dataNodes[1], dataNodes[1]);
|
|
|
- targets = chooseTarget(repl, 4, dataNodes[0], chosenNodes, excludedNodes,
|
|
|
- BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(4, chosenNodes, excludedNodes);
|
|
|
assertEquals(targets.length, 4);
|
|
|
assertEquals(targets[0], dataNodes[0]);
|
|
|
for(int i=1; i<4; i++) {
|
|
@@ -248,7 +260,7 @@ public class TestReplicationPolicy {
|
|
|
chosenNodes.clear();
|
|
|
excludedNodes.put(dataNodes[1], dataNodes[1]);
|
|
|
chosenNodes.add(dataNodes[2]);
|
|
|
- targets = repl.chooseTarget(1, dataNodes[0], chosenNodes, true,
|
|
|
+ targets = replicator.chooseTarget(filename, 1, dataNodes[0], chosenNodes, true,
|
|
|
excludedNodes, BLOCK_SIZE);
|
|
|
System.out.println("targets=" + Arrays.asList(targets));
|
|
|
assertEquals(2, targets.length);
|
|
@@ -274,30 +286,25 @@ public class TestReplicationPolicy {
|
|
|
(HdfsConstants.MIN_BLOCKS_FOR_WRITE-1)*BLOCK_SIZE, 0L, 0, 0); // no space
|
|
|
|
|
|
DatanodeDescriptor[] targets;
|
|
|
- targets = replicator.chooseTarget(filename, 0, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(0);
|
|
|
assertEquals(targets.length, 0);
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 1, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1);
|
|
|
assertEquals(targets.length, 1);
|
|
|
assertEquals(targets[0], dataNodes[1]);
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 2, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(2);
|
|
|
assertEquals(targets.length, 2);
|
|
|
assertEquals(targets[0], dataNodes[1]);
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], targets[1]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 3, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(3);
|
|
|
assertEquals(targets.length, 3);
|
|
|
assertEquals(targets[0], dataNodes[1]);
|
|
|
assertTrue(cluster.isOnSameRack(targets[1], targets[2]));
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], targets[1]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 4, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(4);
|
|
|
assertEquals(targets.length, 4);
|
|
|
assertEquals(targets[0], dataNodes[1]);
|
|
|
for(int i=1; i<4; i++) {
|
|
@@ -330,23 +337,19 @@ public class TestReplicationPolicy {
|
|
|
}
|
|
|
|
|
|
DatanodeDescriptor[] targets;
|
|
|
- targets = replicator.chooseTarget(filename, 0, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(0);
|
|
|
assertEquals(targets.length, 0);
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 1, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1);
|
|
|
assertEquals(targets.length, 1);
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], dataNodes[0]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 2, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(2);
|
|
|
assertEquals(targets.length, 2);
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], dataNodes[0]));
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], targets[1]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 3, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(3);
|
|
|
assertEquals(targets.length, 3);
|
|
|
for(int i=0; i<3; i++) {
|
|
|
assertFalse(cluster.isOnSameRack(targets[i], dataNodes[0]));
|
|
@@ -375,21 +378,17 @@ public class TestReplicationPolicy {
|
|
|
DFSTestUtil.getDatanodeDescriptor("7.7.7.7", "/d2/r4");
|
|
|
|
|
|
DatanodeDescriptor[] targets;
|
|
|
- targets = replicator.chooseTarget(filename, 0, writerDesc,
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(0, writerDesc);
|
|
|
assertEquals(targets.length, 0);
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 1, writerDesc,
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1, writerDesc);
|
|
|
assertEquals(targets.length, 1);
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 2, writerDesc,
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(2, writerDesc);
|
|
|
assertEquals(targets.length, 2);
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], targets[1]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 3, writerDesc,
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(3, writerDesc);
|
|
|
assertEquals(targets.length, 3);
|
|
|
assertTrue(cluster.isOnSameRack(targets[1], targets[2]));
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], targets[1]));
|
|
@@ -433,9 +432,7 @@ public class TestReplicationPolicy {
|
|
|
|
|
|
// try to choose NUM_OF_DATANODES which is more than actually available
|
|
|
// nodes.
|
|
|
- DatanodeDescriptor[] targets = replicator.chooseTarget(filename,
|
|
|
- NUM_OF_DATANODES, dataNodes[0], new ArrayList<DatanodeDescriptor>(),
|
|
|
- BLOCK_SIZE);
|
|
|
+ DatanodeDescriptor[] targets = chooseTarget(NUM_OF_DATANODES);
|
|
|
assertEquals(targets.length, NUM_OF_DATANODES - 2);
|
|
|
|
|
|
final List<LoggingEvent> log = appender.getLog();
|
|
@@ -478,17 +475,14 @@ public class TestReplicationPolicy {
|
|
|
DatanodeDescriptor[] targets;
|
|
|
// We set the datanode[0] as stale, thus should choose datanode[1] since
|
|
|
// datanode[1] is on the same rack with datanode[0] (writer)
|
|
|
- targets = replicator.chooseTarget(filename, 1, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1);
|
|
|
assertEquals(targets.length, 1);
|
|
|
assertEquals(targets[0], dataNodes[1]);
|
|
|
|
|
|
HashMap<Node, Node> excludedNodes = new HashMap<Node, Node>();
|
|
|
excludedNodes.put(dataNodes[1], dataNodes[1]);
|
|
|
List<DatanodeDescriptor> chosenNodes = new ArrayList<DatanodeDescriptor>();
|
|
|
- BlockPlacementPolicyDefault repl = (BlockPlacementPolicyDefault)replicator;
|
|
|
- targets = chooseTarget(repl, 1, dataNodes[0], chosenNodes, excludedNodes,
|
|
|
- BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1, chosenNodes, excludedNodes);
|
|
|
assertEquals(targets.length, 1);
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], dataNodes[0]));
|
|
|
|
|
@@ -515,33 +509,27 @@ public class TestReplicationPolicy {
|
|
|
namenode.getNamesystem().getBlockManager()
|
|
|
.getDatanodeManager().getHeartbeatManager().heartbeatCheck();
|
|
|
|
|
|
- DatanodeDescriptor[] targets;
|
|
|
- targets = replicator.chooseTarget(filename, 0, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ DatanodeDescriptor[] targets = chooseTarget(0);
|
|
|
assertEquals(targets.length, 0);
|
|
|
|
|
|
// Since we have 6 datanodes total, stale nodes should
|
|
|
// not be returned until we ask for more than 3 targets
|
|
|
- targets = replicator.chooseTarget(filename, 1, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1);
|
|
|
assertEquals(targets.length, 1);
|
|
|
assertFalse(containsWithinRange(targets[0], dataNodes, 0, 2));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 2, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(2);
|
|
|
assertEquals(targets.length, 2);
|
|
|
assertFalse(containsWithinRange(targets[0], dataNodes, 0, 2));
|
|
|
assertFalse(containsWithinRange(targets[1], dataNodes, 0, 2));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 3, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(3);
|
|
|
assertEquals(targets.length, 3);
|
|
|
assertTrue(containsWithinRange(targets[0], dataNodes, 3, 5));
|
|
|
assertTrue(containsWithinRange(targets[1], dataNodes, 3, 5));
|
|
|
assertTrue(containsWithinRange(targets[2], dataNodes, 3, 5));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename, 4, dataNodes[0],
|
|
|
- new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(4);
|
|
|
assertEquals(targets.length, 4);
|
|
|
assertTrue(containsWithinRange(dataNodes[3], targets, 0, 3));
|
|
|
assertTrue(containsWithinRange(dataNodes[4], targets, 0, 3));
|
|
@@ -594,7 +582,8 @@ public class TestReplicationPolicy {
|
|
|
BlockPlacementPolicy replicator = miniCluster.getNameNode()
|
|
|
.getNamesystem().getBlockManager().getBlockPlacementPolicy();
|
|
|
DatanodeDescriptor[] targets = replicator.chooseTarget(filename, 3,
|
|
|
- staleNodeInfo, new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ staleNodeInfo, new ArrayList<DatanodeDescriptor>(), false, null, BLOCK_SIZE);
|
|
|
+
|
|
|
assertEquals(targets.length, 3);
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], staleNodeInfo));
|
|
|
|
|
@@ -618,7 +607,7 @@ public class TestReplicationPolicy {
|
|
|
.getDatanodeManager().shouldAvoidStaleDataNodesForWrite());
|
|
|
// Call chooseTarget
|
|
|
targets = replicator.chooseTarget(filename, 3,
|
|
|
- staleNodeInfo, new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ staleNodeInfo, new ArrayList<DatanodeDescriptor>(), false, null, BLOCK_SIZE);
|
|
|
assertEquals(targets.length, 3);
|
|
|
assertTrue(cluster.isOnSameRack(targets[0], staleNodeInfo));
|
|
|
|
|
@@ -640,8 +629,7 @@ public class TestReplicationPolicy {
|
|
|
assertTrue(miniCluster.getNameNode().getNamesystem().getBlockManager()
|
|
|
.getDatanodeManager().shouldAvoidStaleDataNodesForWrite());
|
|
|
// Call chooseTarget
|
|
|
- targets = replicator.chooseTarget(filename, 3,
|
|
|
- staleNodeInfo, new ArrayList<DatanodeDescriptor>(), BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(3, staleNodeInfo);
|
|
|
assertEquals(targets.length, 3);
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], staleNodeInfo));
|
|
|
} finally {
|
|
@@ -662,23 +650,19 @@ public class TestReplicationPolicy {
|
|
|
chosenNodes.add(dataNodes[0]);
|
|
|
DatanodeDescriptor[] targets;
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 0, dataNodes[0], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(0, chosenNodes);
|
|
|
assertEquals(targets.length, 0);
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 1, dataNodes[0], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1, chosenNodes);
|
|
|
assertEquals(targets.length, 1);
|
|
|
assertFalse(cluster.isOnSameRack(dataNodes[0], targets[0]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 2, dataNodes[0], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(2, chosenNodes);
|
|
|
assertEquals(targets.length, 2);
|
|
|
assertTrue(cluster.isOnSameRack(dataNodes[0], targets[0]));
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], targets[1]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 3, dataNodes[0], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(3, chosenNodes);
|
|
|
assertEquals(targets.length, 3);
|
|
|
assertTrue(cluster.isOnSameRack(dataNodes[0], targets[0]));
|
|
|
assertFalse(cluster.isOnSameRack(targets[0], targets[2]));
|
|
@@ -698,17 +682,14 @@ public class TestReplicationPolicy {
|
|
|
chosenNodes.add(dataNodes[1]);
|
|
|
|
|
|
DatanodeDescriptor[] targets;
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 0, dataNodes[0], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(0, chosenNodes);
|
|
|
assertEquals(targets.length, 0);
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 1, dataNodes[0], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1, chosenNodes);
|
|
|
assertEquals(targets.length, 1);
|
|
|
assertFalse(cluster.isOnSameRack(dataNodes[0], targets[0]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 2, dataNodes[0], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(2, chosenNodes);
|
|
|
assertEquals(targets.length, 2);
|
|
|
assertFalse(cluster.isOnSameRack(dataNodes[0], targets[0]));
|
|
|
assertFalse(cluster.isOnSameRack(dataNodes[0], targets[1]));
|
|
@@ -728,29 +709,24 @@ public class TestReplicationPolicy {
|
|
|
chosenNodes.add(dataNodes[2]);
|
|
|
|
|
|
DatanodeDescriptor[] targets;
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 0, dataNodes[0], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(0, chosenNodes);
|
|
|
assertEquals(targets.length, 0);
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 1, dataNodes[0], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1, chosenNodes);
|
|
|
assertEquals(targets.length, 1);
|
|
|
assertTrue(cluster.isOnSameRack(dataNodes[0], targets[0]));
|
|
|
assertFalse(cluster.isOnSameRack(dataNodes[2], targets[0]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 1, dataNodes[2], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(1, dataNodes[2], chosenNodes);
|
|
|
assertEquals(targets.length, 1);
|
|
|
assertTrue(cluster.isOnSameRack(dataNodes[2], targets[0]));
|
|
|
assertFalse(cluster.isOnSameRack(dataNodes[0], targets[0]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 2, dataNodes[0], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(2, chosenNodes);
|
|
|
assertEquals(targets.length, 2);
|
|
|
assertTrue(cluster.isOnSameRack(dataNodes[0], targets[0]));
|
|
|
|
|
|
- targets = replicator.chooseTarget(filename,
|
|
|
- 2, dataNodes[2], chosenNodes, BLOCK_SIZE);
|
|
|
+ targets = chooseTarget(2, dataNodes[2], chosenNodes);
|
|
|
assertEquals(targets.length, 2);
|
|
|
assertTrue(cluster.isOnSameRack(dataNodes[2], targets[0]));
|
|
|
}
|