use of com.ms.silverking.cloud.topology.Node in project SilverKing by Morgan-Stanley.
the class PrimarySecondaryListPair method getLastAddedOwnerNotIn.
public Node getLastAddedOwnerNotIn(Set<Node> excluding) {
int secondaryIndex;
int primaryIndex;
Node node;
secondaryIndex = secondaryOwners.size() - 1;
primaryIndex = primaryOwners.size() - 1;
do {
if (secondaryIndex > 0) {
node = secondaryOwners.get(secondaryIndex);
secondaryIndex--;
} else {
if (primaryOwners.size() == 0) {
Log.warning(this);
Log.warning(CollectionUtil.toString(excluding));
throw new RuntimeException("getLastAddedOwnerNotIn() failed");
}
node = primaryOwners.get(primaryIndex);
primaryIndex--;
}
if (excluding.contains(node)) {
node = null;
}
} while (node == null);
return node;
/*
if (secondaryOwners.size() > 0) {
return secondaryOwners.get(secondaryOwners.size() - 1);
} else {
assert primaryOwners.size() > 0;
return primaryOwners.get(primaryOwners.size() - 1);
}
*/
}
use of com.ms.silverking.cloud.topology.Node in project SilverKing by Morgan-Stanley.
the class ProtoRegionList method toString.
@Override
public String toString() {
StringBuilder sb;
sb = new StringBuilder();
for (ProtoRegion pr : protoRegions) {
sb.append(pr);
sb.append("\n");
}
sb.append("\n");
for (Node owner : getOwners()) {
sb.append(owner + ":\t" + getOwnedFraction(owner));
sb.append("\n");
}
sb.append("\n");
return sb.toString();
}
use of com.ms.silverking.cloud.topology.Node in project SilverKing by Morgan-Stanley.
the class ProtoRegionList method getAllocations.
public Map<String, Long> getAllocations() {
Map<String, Long> allocations;
allocations = new HashMap<>();
for (ProtoRegion pr : protoRegions) {
for (Node node : pr.getPrimaryOwners()) {
Long allocation;
allocation = allocations.get(node.getIDString());
if (allocation == null) {
allocation = new Long(0);
}
allocation += pr.getRegionSize();
allocations.put(node.getIDString(), allocation);
}
}
return allocations;
}
use of com.ms.silverking.cloud.topology.Node in project SilverKing by Morgan-Stanley.
the class ConvergenceController2 method getAllNonLocalPrimary.
private Set<IPAndPort> getAllNonLocalPrimary(RingEntry entry) {
ImmutableSet.Builder<IPAndPort> pSetBuilder;
pSetBuilder = ImmutableSet.builder();
for (Node node : entry.getPrimaryOwnersList()) {
IPAndPort primary;
primary = new IPAndPort(node.getIDString(), DHTNode.getServerPort());
if (!primary.equals(mgBase._getIPAndPort())) {
pSetBuilder.add(primary);
}
}
return pSetBuilder.build();
}
use of com.ms.silverking.cloud.topology.Node in project SilverKing by Morgan-Stanley.
the class SKAdmin method getAllServersInTree.
public Set<String> getAllServersInTree(InstantiatedRingTree ringTree) {
Set<Node> nodes;
ImmutableSet.Builder<String> servers;
nodes = ringTree.getMemberNodes(OwnerQueryMode.All, NodeClass.server);
servers = ImmutableSet.builder();
for (Node node : nodes) {
servers.add(node.getIDString());
}
return servers.build();
}
Aggregations