|
@@ -139,8 +139,8 @@ public class TestNetworkTopology {
|
|
|
testNodes[0] = dataNodes[1];
|
|
|
testNodes[1] = dataNodes[2];
|
|
|
testNodes[2] = dataNodes[0];
|
|
|
- cluster.sortByDistance(dataNodes[0], testNodes,
|
|
|
- testNodes.length, 0xDEADBEEF, false);
|
|
|
+ cluster.setRandomSeed(0xDEADBEEF);
|
|
|
+ cluster.sortByDistance(dataNodes[0], testNodes, testNodes.length);
|
|
|
assertTrue(testNodes[0] == dataNodes[0]);
|
|
|
assertTrue(testNodes[1] == dataNodes[1]);
|
|
|
assertTrue(testNodes[2] == dataNodes[2]);
|
|
@@ -152,8 +152,8 @@ public class TestNetworkTopology {
|
|
|
dtestNodes[2] = dataNodes[11];
|
|
|
dtestNodes[3] = dataNodes[9];
|
|
|
dtestNodes[4] = dataNodes[10];
|
|
|
- cluster.sortByDistance(dataNodes[8], dtestNodes,
|
|
|
- dtestNodes.length - 2, 0xDEADBEEF, false);
|
|
|
+ cluster.setRandomSeed(0xDEADBEEF);
|
|
|
+ cluster.sortByDistance(dataNodes[8], dtestNodes, dtestNodes.length - 2);
|
|
|
assertTrue(dtestNodes[0] == dataNodes[8]);
|
|
|
assertTrue(dtestNodes[1] == dataNodes[11]);
|
|
|
assertTrue(dtestNodes[2] == dataNodes[12]);
|
|
@@ -164,8 +164,8 @@ public class TestNetworkTopology {
|
|
|
testNodes[0] = dataNodes[1];
|
|
|
testNodes[1] = dataNodes[3];
|
|
|
testNodes[2] = dataNodes[0];
|
|
|
- cluster.sortByDistance(dataNodes[0], testNodes,
|
|
|
- testNodes.length, 0xDEADBEEF, false);
|
|
|
+ cluster.setRandomSeed(0xDEADBEEF);
|
|
|
+ cluster.sortByDistance(dataNodes[0], testNodes, testNodes.length);
|
|
|
assertTrue(testNodes[0] == dataNodes[0]);
|
|
|
assertTrue(testNodes[1] == dataNodes[1]);
|
|
|
assertTrue(testNodes[2] == dataNodes[3]);
|
|
@@ -174,8 +174,8 @@ public class TestNetworkTopology {
|
|
|
testNodes[0] = dataNodes[5];
|
|
|
testNodes[1] = dataNodes[3];
|
|
|
testNodes[2] = dataNodes[1];
|
|
|
- cluster.sortByDistance(dataNodes[0], testNodes,
|
|
|
- testNodes.length, 0xDEADBEEF, false);
|
|
|
+ cluster.setRandomSeed(0xDEADBEEF);
|
|
|
+ cluster.sortByDistance(dataNodes[0], testNodes, testNodes.length);
|
|
|
assertTrue(testNodes[0] == dataNodes[1]);
|
|
|
assertTrue(testNodes[1] == dataNodes[3]);
|
|
|
assertTrue(testNodes[2] == dataNodes[5]);
|
|
@@ -184,8 +184,8 @@ public class TestNetworkTopology {
|
|
|
testNodes[0] = dataNodes[1];
|
|
|
testNodes[1] = dataNodes[5];
|
|
|
testNodes[2] = dataNodes[3];
|
|
|
- cluster.sortByDistance(dataNodes[0], testNodes,
|
|
|
- testNodes.length, 0xDEADBEEF, false);
|
|
|
+ cluster.setRandomSeed(0xDEADBEEF);
|
|
|
+ cluster.sortByDistance(dataNodes[0], testNodes, testNodes.length);
|
|
|
assertTrue(testNodes[0] == dataNodes[1]);
|
|
|
assertTrue(testNodes[1] == dataNodes[3]);
|
|
|
assertTrue(testNodes[2] == dataNodes[5]);
|
|
@@ -194,24 +194,23 @@ public class TestNetworkTopology {
|
|
|
testNodes[0] = dataNodes[1];
|
|
|
testNodes[1] = dataNodes[5];
|
|
|
testNodes[2] = dataNodes[3];
|
|
|
- cluster.sortByDistance(dataNodes[0], testNodes,
|
|
|
- testNodes.length, 0xDEAD, false);
|
|
|
+ cluster.setRandomSeed(0xDEAD);
|
|
|
+ cluster.sortByDistance(dataNodes[0], testNodes, testNodes.length);
|
|
|
// sortByDistance does not take the "data center" layer into consideration
|
|
|
// and it doesn't sort by getDistance, so 1, 5, 3 is also valid here
|
|
|
assertTrue(testNodes[0] == dataNodes[1]);
|
|
|
assertTrue(testNodes[1] == dataNodes[5]);
|
|
|
assertTrue(testNodes[2] == dataNodes[3]);
|
|
|
|
|
|
- // Array is just local rack nodes
|
|
|
- // Expect a random first node depending on the seed (normally the block ID).
|
|
|
+ // Array of just rack-local nodes
|
|
|
+ // Expect a random first node
|
|
|
DatanodeDescriptor first = null;
|
|
|
boolean foundRandom = false;
|
|
|
for (int i=5; i<=7; i++) {
|
|
|
testNodes[0] = dataNodes[5];
|
|
|
testNodes[1] = dataNodes[6];
|
|
|
testNodes[2] = dataNodes[7];
|
|
|
- cluster.sortByDistance(dataNodes[i], testNodes,
|
|
|
- testNodes.length, 0xBEADED+i, false);
|
|
|
+ cluster.sortByDistance(dataNodes[i], testNodes, testNodes.length);
|
|
|
if (first == null) {
|
|
|
first = testNodes[0];
|
|
|
} else {
|
|
@@ -222,16 +221,15 @@ public class TestNetworkTopology {
|
|
|
}
|
|
|
}
|
|
|
assertTrue("Expected to find a different first location", foundRandom);
|
|
|
- // Array of rack local nodes with randomizeBlockLocationsPerBlock set to
|
|
|
- // true
|
|
|
- // Expect random order of block locations for same block
|
|
|
+
|
|
|
+ // Array of just remote nodes
|
|
|
+ // Expect random first node
|
|
|
first = null;
|
|
|
for (int i = 1; i <= 4; i++) {
|
|
|
testNodes[0] = dataNodes[13];
|
|
|
testNodes[1] = dataNodes[14];
|
|
|
testNodes[2] = dataNodes[15];
|
|
|
- cluster.sortByDistance(dataNodes[15 + i], testNodes, testNodes.length,
|
|
|
- 0xBEADED, true);
|
|
|
+ cluster.sortByDistance(dataNodes[i], testNodes, testNodes.length);
|
|
|
if (first == null) {
|
|
|
first = testNodes[0];
|
|
|
} else {
|