Search in sources :

Example 6 with DHTKey

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;
}
Also used : DHTKey(com.ms.silverking.cloud.dht.common.DHTKey) StoredValue(com.ms.silverking.cloud.dht.client.StoredValue) HashMap(java.util.HashMap) ConcurrentMap(java.util.concurrent.ConcurrentMap) Map(java.util.Map) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) ConcurrentSingleMap(com.ms.silverking.collection.ConcurrentSingleMap)

Example 7 with DHTKey

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();
}
Also used : ImmutableSet(com.google.common.collect.ImmutableSet) DHTKey(com.ms.silverking.cloud.dht.common.DHTKey)

Example 8 with DHTKey

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);
    }
}
Also used : OpResult(com.ms.silverking.cloud.dht.common.OpResult) DHTKey(com.ms.silverking.cloud.dht.common.DHTKey) MessageGroupRetrievalResponseEntry(com.ms.silverking.cloud.dht.net.MessageGroupRetrievalResponseEntry)

Example 9 with DHTKey

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");
}
Also used : DHTKey(com.ms.silverking.cloud.dht.common.DHTKey) File(java.io.File)

Example 10 with DHTKey

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);
}
Also used : DHTKey(com.ms.silverking.cloud.dht.common.DHTKey) ResolvedReplicaMap(com.ms.silverking.cloud.toporing.ResolvedReplicaMap)

Aggregations

DHTKey (com.ms.silverking.cloud.dht.common.DHTKey)47 VersionConstraint (com.ms.silverking.cloud.dht.VersionConstraint)10 OpResult (com.ms.silverking.cloud.dht.common.OpResult)7 ByteBuffer (java.nio.ByteBuffer)7 KeyAndVersionChecksum (com.ms.silverking.cloud.dht.daemon.storage.KeyAndVersionChecksum)5 SimpleKey (com.ms.silverking.cloud.dht.common.SimpleKey)4 MessageGroupKeyOrdinalEntry (com.ms.silverking.cloud.dht.net.MessageGroupKeyOrdinalEntry)4 MessageGroupRetrievalResponseEntry (com.ms.silverking.cloud.dht.net.MessageGroupRetrievalResponseEntry)4 IOException (java.io.IOException)4 WeakReference (java.lang.ref.WeakReference)4 InternalRetrievalOptions (com.ms.silverking.cloud.dht.common.InternalRetrievalOptions)3 ConvergencePoint (com.ms.silverking.cloud.dht.daemon.storage.convergence.ConvergencePoint)3 ProtoRetrievalMessageGroup (com.ms.silverking.cloud.dht.net.ProtoRetrievalMessageGroup)3 Triple (com.ms.silverking.collection.Triple)3 File (java.io.File)3 Map (java.util.Map)3 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)3 ConcurrentMap (java.util.concurrent.ConcurrentMap)3 RetrievalOptions (com.ms.silverking.cloud.dht.RetrievalOptions)2 DHTKeyIntEntry (com.ms.silverking.cloud.dht.collection.DHTKeyIntEntry)2