private DatanodeDescriptor select( DatanodeDescriptor a, DatanodeDescriptor b) { if (a != null && b != null){ int ret = compareDataNode(a, b); if (ret == 0) { return a; } else if (ret < 0) { return (RAND.nextInt(100) < balancedPreference) ? a : b; } else { return (RAND.nextInt(100) < balancedPreference) ? b : a; } } else { return a == null ? b : a; } }
@Override protected DatanodeDescriptor chooseDataNode(String scope) { DatanodeDescriptor a = (DatanodeDescriptor) clusterMap.chooseRandom(scope); DatanodeDescriptor b = (DatanodeDescriptor) clusterMap.chooseRandom(scope); if (a != null && b != null){ int ret = compareDataNode(a, b); if (ret == 0) { return a; } else if (ret < 0) { return (RAND.nextInt(100) < balancedPreference) ? a : b; } else { return (RAND.nextInt(100) < balancedPreference) ? b : a; } } else { return a == null ? b : a; } }
@Override protected DatanodeDescriptor chooseDataNode(String scope) { DatanodeDescriptor a = (DatanodeDescriptor) clusterMap.chooseRandom(scope); DatanodeDescriptor b = (DatanodeDescriptor) clusterMap.chooseRandom(scope); if (a != null && b != null){ int ret = compareDataNode(a, b); if (ret == 0) { return a; } else if (ret < 0) { return (RAND.nextInt(100) < balancedPreference) ? a : b; } else { return (RAND.nextInt(100) < balancedPreference) ? b : a; } } else { return a == null ? b : a; } }