/// <exception cref="System.IO.IOException"/> private NMStateStoreService.LocalResourceTrackerState LoadResourceTrackerState(LeveldbIterator iter, string keyPrefix) { string completedPrefix = keyPrefix + LocalizationCompletedSuffix; string startedPrefix = keyPrefix + LocalizationStartedSuffix; NMStateStoreService.LocalResourceTrackerState state = new NMStateStoreService.LocalResourceTrackerState (); while (iter.HasNext()) { KeyValuePair <byte[], byte[]> entry = iter.PeekNext(); string key = JniDBFactory.AsString(entry.Key); if (!key.StartsWith(keyPrefix)) { break; } if (key.StartsWith(completedPrefix)) { state.localizedResources = LoadCompletedResources(iter, completedPrefix); } else { if (key.StartsWith(startedPrefix)) { state.inProgressResources = LoadStartedResources(iter, startedPrefix); } else { throw new IOException("Unexpected key in resource tracker state: " + key); } } } return(state); }
private NMStateStoreService.LocalResourceTrackerState LoadTrackerState(NMMemoryStateStoreService.TrackerState ts) { NMStateStoreService.LocalResourceTrackerState result = new NMStateStoreService.LocalResourceTrackerState (); Sharpen.Collections.AddAll(result.localizedResources, ts.localizedResources.Values ); foreach (KeyValuePair <Path, YarnProtos.LocalResourceProto> entry in ts.inProgressMap) { result.inProgressResources[entry.Value] = entry.Key; } return(result); }