/// <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); } }
/// <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); }