Example #1
0
        /// <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);
        }
Example #2
0
 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);
 }