use of com.ms.silverking.cloud.dht.common.DHTKey in project SilverKing by Morgan-Stanley.
the class AsyncRetrievalOperationImpl method getLatestStoredValues.
@Override
public Map<K, ? extends StoredValue<V>> getLatestStoredValues() throws RetrievalException {
Map<K, StoredValue<V>> storedValueMap;
storedValueMap = new HashMap<>(retrievalOperation.size() - latestStoredReturned.size());
for (Map.Entry<K, RetrievalResultBase<V>> resultEntry : results.entrySet()) {
K key;
DHTKey dhtKey;
key = resultEntry.getKey();
dhtKey = keyToDHTKey.get(key);
if (!latestStoredReturned.contains(dhtKey)) {
RetrievalResultBase<V> value;
latestStoredReturned.add(dhtKey);
value = resultEntry.getValue();
if (value.getOpResult() == OpResult.SUCCEEDED) {
storedValueMap.put(resultEntry.getKey(), value);
}
}
}
return storedValueMap;
}
use of com.ms.silverking.cloud.dht.common.DHTKey in project SilverKing by Morgan-Stanley.
the class AsyncKeyedOperationImpl method createKeys.
private Set<DHTKey> createKeys(KeyCreator<K> keyCreator) {
ImmutableSet.Builder<DHTKey> keySetBuilder;
keySetBuilder = ImmutableSet.builder();
for (K key : keyedNamespaceOperation.getKeys()) {
DHTKey dhtKey;
dhtKey = keyCreator.createKey(key);
keySetBuilder.add(dhtKey);
dhtKeyToKey.put(dhtKey, key);
keyToDHTKey.put(key, dhtKey);
}
return keySetBuilder.build();
}
use of com.ms.silverking.cloud.dht.common.DHTKey in project SilverKing by Morgan-Stanley.
the class SegmentedRetrievalValue method checkForCompletion.
@Override
protected void checkForCompletion() {
MessageGroupRetrievalResponseEntry response;
OpResult result;
result = OpResult.SUCCEEDED;
for (DHTKey key : keys) {
if (getResult(key) != OpResult.SUCCEEDED) {
result = getResult(key);
// System.out.println("Incomplete: "+ key);
}
}
if (result == OpResult.SUCCEEDED) {
// System.out.println("SegmentedRetrievalValue complete");
parent.reassembledResultReceived(relayKey, new SegmentedRetrievalResult<>(metaData, deserializer, getBuffers(), result));
} else {
// System.out.println("SegmentedRetrievalValue incomplete");
// parent.resultReceived(relayKey, MessageGroupRetrievalResponseEntry);
}
}
use of com.ms.silverking.cloud.dht.common.DHTKey in project SilverKing by Morgan-Stanley.
the class DirectoryServer method recover.
private void recover(NamespaceOptions nsOptions) {
String[] sDirs;
Log.warning("DirectoryServer.recover()");
sDirs = logDir.list();
for (String sDir : sDirs) {
DirectoryInMemorySS newDir;
DHTKey key;
Log.warningf("DirectoryServer.recover() recovering %s", sDir);
key = KeyUtil.keyStringToKey(sDir);
newDir = new DirectoryInMemorySS(key, null, null, new File(logDir, sDir), nsOptions);
directories.put(key, newDir);
}
Log.warning("DirectoryServer.recover() complete");
}
use of com.ms.silverking.cloud.dht.common.DHTKey in project SilverKing by Morgan-Stanley.
the class DebugKey method debugConvergence.
public void debugConvergence(String key, Triple<String, Long, Long> sourceRing, Triple<String, Long, Long> targetRing) throws IOException, KeeperException, ClientException {
ResolvedReplicaMap sMap;
ResolvedReplicaMap tMap;
DHTKey dhtKey;
dhtKey = keyCreator.createKey(key);
out.printf("Key: %s\n", key);
out.printf("DHTKey: %s\n", KeyUtil.keyToString(dhtKey));
out.printf("Coord: %d\n", KeyUtil.keyToCoordinate(dhtKey));
sMap = readReplicaMap(sourceRing);
tMap = readReplicaMap(targetRing);
out.printf("Source\n");
displayKeyInMap(dhtKey, sMap);
searchForKey(key, dhtKey, sMap);
out.println();
out.printf("Target\n");
displayKeyInMap(dhtKey, tMap);
searchForKey(key, dhtKey, tMap);
}
Aggregations