示例#1
0
 /// <exception cref="System.IO.IOException"/>
 public override NMStateStoreService.RecoveredDeletionServiceState LoadDeletionServiceState
     ()
 {
     lock (this)
     {
         NMStateStoreService.RecoveredDeletionServiceState result = new NMStateStoreService.RecoveredDeletionServiceState
                                                                        ();
         result.tasks = new AList <YarnServerNodemanagerRecoveryProtos.DeletionServiceDeleteTaskProto
                                   >(deleteTasks.Values);
         return(result);
     }
 }
示例#2
0
        /// <exception cref="System.IO.IOException"/>
        public override NMStateStoreService.RecoveredDeletionServiceState LoadDeletionServiceState
            ()
        {
            NMStateStoreService.RecoveredDeletionServiceState state = new NMStateStoreService.RecoveredDeletionServiceState
                                                                          ();
            state.tasks = new AList <YarnServerNodemanagerRecoveryProtos.DeletionServiceDeleteTaskProto
                                     >();
            LeveldbIterator iter = null;

            try
            {
                iter = new LeveldbIterator(db);
                iter.Seek(JniDBFactory.Bytes(DeletionTaskKeyPrefix));
                while (iter.HasNext())
                {
                    KeyValuePair <byte[], byte[]> entry = iter.Next();
                    string key = JniDBFactory.AsString(entry.Key);
                    if (!key.StartsWith(DeletionTaskKeyPrefix))
                    {
                        break;
                    }
                    state.tasks.AddItem(YarnServerNodemanagerRecoveryProtos.DeletionServiceDeleteTaskProto
                                        .ParseFrom(entry.Value));
                }
            }
            catch (DBException e)
            {
                throw new IOException(e);
            }
            finally
            {
                if (iter != null)
                {
                    iter.Close();
                }
            }
            return(state);
        }