private void chooseRemoteRack(int numOfReplicas, DatanodeDescriptor localMachine, List<Node> excludedNodes, long blocksize, int maxReplicasPerRack, List<DatanodeDescriptor> results) throws NotEnoughReplicasException { int oldNumOfReplicas = results.size(); // randomly choose one node from remote racks try { chooseRandom(numOfReplicas, "~"+localMachine.getNetworkLocation(), excludedNodes, blocksize, maxReplicasPerRack, results); } catch (NotEnoughReplicasException e) { chooseRandom(numOfReplicas-(results.size()-oldNumOfReplicas), localMachine.getNetworkLocation(), excludedNodes, blocksize, maxReplicasPerRack, results); } }
protected void chooseRemoteRack(int numOfReplicas, DatanodeDescriptor localMachine, HashMap<Node, Node> excludedNodes, long blocksize, int maxReplicasPerRack, List<DatanodeDescriptor> results) throws NotEnoughReplicasException { int oldNumOfReplicas = results.size(); // randomly choose one node from remote racks try { chooseRandom(numOfReplicas, "~"+localMachine.getNetworkLocation(), excludedNodes, blocksize, maxReplicasPerRack, results); } catch (NotEnoughReplicasException e) { chooseRandom(numOfReplicas-(results.size()-oldNumOfReplicas), localMachine.getNetworkLocation(), excludedNodes, blocksize, maxReplicasPerRack, results); } }
!best[0].getNetworkLocation().equals(n.getNetworkLocation())) !best[1].getNetworkLocation().equals(n.getNetworkLocation()))
if (n2.getNetworkLocation().equals(n3.getNetworkLocation())) { RackRingInfo rackInfo = racksMap.get(n2.getNetworkLocation()); assert (rackInfo != null); final int rackSize = rackInfo.rackNodes.size();
/** * This test checks that chooseRandom works for an excluded rack. */ public void testChooseRandomExcludedRack() { Map<Node, Integer> frequency = pickNodesAtRandom(100, "~" + "/d2"); // all the nodes on the second rack should be zero for (int j = 0; j < dataNodes.length; j++) { int freq = frequency.get(dataNodes[j]); if (dataNodes[j].getNetworkLocation().startsWith("/d2")) { assertEquals(0, freq); } else { assertTrue(freq > 0); } } } }
if (!testing1.getNetworkLocation().equals(testing2.getNetworkLocation())) { return false; RackRingInfo rackInfo = racksMap.get(first.getNetworkLocation()); assert (rackInfo != null); final RackRingInfo rackTest = racksMap.get(testing1.getNetworkLocation()); assert (rackTest != null);
RackRingInfo rackInfo = racksMap.get(first.getNetworkLocation()); assert (rackInfo != null); final RackRingInfo rackTest = racksMap.get(testing.getNetworkLocation()); assert (rackTest != null);
iter.hasNext();) { DatanodeDescriptor node = iter.next(); String rackName = node.getNetworkLocation(); ArrayList<DatanodeDescriptor> datanodeList = rackMap.get(rackName); if (datanodeList == null) {
iter.hasNext();) { DatanodeDescriptor node = iter.next(); String rackName = node.getNetworkLocation(); ArrayList<DatanodeDescriptor> datanodeList = rackMap.get(rackName); if(datanodeList==null) {
localMachine.getNetworkLocation(), excludedNodes, blocksize, maxNodesPerRack, results); } catch (NotEnoughReplicasException e1) { try { return chooseRandom( newLocal.getNetworkLocation(), excludedNodes, blocksize, maxNodesPerRack, results); } catch(NotEnoughReplicasException e2) {
localMachine.getNetworkLocation(), excludedNodes, blocksize, maxNodesPerRack, results); } catch (NotEnoughReplicasException e1) { try { return chooseRandom( newLocal.getNetworkLocation(), excludedNodes, blocksize, maxNodesPerRack, results); } catch(NotEnoughReplicasException e2) {
RackRingInfo rack0 = racksMap.get(bestmatch[0].getNetworkLocation()); RackRingInfo rack1 = racksMap.get(bestmatch[1].getNetworkLocation()); int posR0 = rack0.findNode(bestmatch[0]); int firstMachine = posR0 * rack1.rackNodes.size() / rack0.rackNodes.size(); if (!chooseMachine(bestmatch[1].getNetworkLocation(), firstMachine, machineWindow, excludedNodes, blocksize, maxReplicasPerRack, results)) { RackRingInfo rackInfo = racksMap.get(bestmatch[1].getNetworkLocation()); Integer posN1 = rackInfo.findNode(bestmatch[1]); Integer posN2 = rackInfo.findNode(bestmatch[2]);
readLock(); try { RackRingInfo rackInfo = racksMap.get(localMachine.getNetworkLocation()); assert (rackInfo != null);
String rackname = node.getNetworkLocation(); int counter=1; for(Iterator<DatanodeDescriptor> iter = results.iterator();
String rackname = node.getNetworkLocation(); int counter=1; for(Iterator<DatanodeDescriptor> iter = results.iterator();