public void TestFailedNodeDuringTaskSubmittingThenRecovery() { var systemState = new SystemStateMachine(); systemState.MoveNext(SystemStateEvent.AllContextsAreReady); Assert.True(systemState.MoveNext(SystemStateEvent.FailedNode).Equals(SystemState.ShuttingDown), "Fail to move from SubmittingTasks state to ShuttingDown state."); Assert.True(systemState.MoveNext(SystemStateEvent.Recover).Equals(SystemState.WaitingForEvaluator), "Fail to move from ShuttingDown state to WaitingForEvaluator state."); }
public void TestFailedNodeDuringTaskSubmittingThenFail() { var systemState = new SystemStateMachine(); systemState.MoveNext(SystemStateEvent.AllContextsAreReady); Assert.True(systemState.MoveNext(SystemStateEvent.FailedNode).Equals(SystemState.ShuttingDown), "Fail to move from SubmittingTasks state to ShuttingDown state."); Assert.True(systemState.MoveNext(SystemStateEvent.NotRecoverable).Equals(SystemState.Fail), "Fail to move from ShuttingDown state to Fail state."); }
public void TestFromRequestEvaluatorToTasksComplete() { var systemState = new SystemStateMachine(); Assert.True(systemState.CurrentState.Equals(SystemState.WaitingForEvaluator), "The initial state should be WaitingForEvaluator."); Assert.True(systemState.MoveNext(SystemStateEvent.FailedNode).Equals(SystemState.WaitingForEvaluator), "Fail to stay at WaitingForEvaluator state."); Assert.True(systemState.MoveNext(SystemStateEvent.AllContextsAreReady).Equals(SystemState.SubmittingTasks), "Fail to move from WaitingForEvaluator state to SubmittingTasks state."); Assert.True(systemState.MoveNext(SystemStateEvent.AllTasksAreRunning).Equals(SystemState.TasksRunning), "Fail to move from SubmittingTasks state to TasksRunning state."); Assert.True(systemState.MoveNext(SystemStateEvent.AllTasksAreCompleted).Equals(SystemState.TasksCompleted), "Fail to move from TasksRunning state to TasksCompleted state."); }
private IMRUDriver(IPartitionedInputDataSet dataSet, [Parameter(typeof(PerMapConfigGeneratorSet))] ISet <IPerMapperConfigGenerator> perMapperConfigs, ConfigurationManager configurationManager, IEvaluatorRequestor evaluatorRequestor, [Parameter(typeof(CoresPerMapper))] int coresPerMapper, [Parameter(typeof(CoresForUpdateTask))] int coresForUpdateTask, [Parameter(typeof(MemoryPerMapper))] int memoryPerMapper, [Parameter(typeof(MemoryForUpdateTask))] int memoryForUpdateTask, [Parameter(typeof(AllowedFailedEvaluatorsFraction))] double failedEvaluatorsFraction, [Parameter(typeof(MaxRetryNumberInRecovery))] int maxRetryNumberInRecovery, [Parameter(typeof(InvokeGC))] bool invokeGC, IGroupCommDriver groupCommDriver, INameServer nameServer) { _configurationManager = configurationManager; _groupCommDriver = groupCommDriver; _nameServer = nameServer; _perMapperConfigs = perMapperConfigs; _totalMappers = dataSet.Count; _invokeGC = invokeGC; _maxRetryNumberForFaultTolerant = maxRetryNumberInRecovery > 0 ? maxRetryNumberInRecovery : DefaultMaxNumberOfRetryInRecovery; _contextManager = new ActiveContextManager(_totalMappers + 1); _contextManager.Subscribe(this); var updateSpec = new EvaluatorSpecification(memoryForUpdateTask, coresForUpdateTask); var mapperSpec = new EvaluatorSpecification(memoryPerMapper, coresPerMapper); var allowedFailedEvaluators = (int)(failedEvaluatorsFraction * _totalMappers); _evaluatorManager = new EvaluatorManager(_totalMappers + 1, allowedFailedEvaluators, evaluatorRequestor, updateSpec, mapperSpec); _systemState = new SystemStateMachine(); _serviceAndContextConfigurationProvider = new ServiceAndContextConfigurationProvider <TMapInput, TMapOutput, TPartitionType>(dataSet, configurationManager); var msg = string.Format(CultureInfo.InvariantCulture, "map task memory:{0}, update task memory:{1}, map task cores:{2}, update task cores:{3}, maxRetry {4}, allowedFailedEvaluators {5}.", memoryPerMapper, memoryForUpdateTask, coresPerMapper, coresForUpdateTask, _maxRetryNumberForFaultTolerant, allowedFailedEvaluators); Logger.Log(Level.Info, msg); }
public void TestNoRecoverableFailedEvaluatorDuringWaitingForEvaluator() { var systemState = new SystemStateMachine(); Assert.True(systemState.MoveNext(SystemStateEvent.NotRecoverable).Equals(SystemState.Fail), "Fail to move from WaitingForEvaluator state to Fail state."); }
public GlobalPauseDisabledStimuli(bool defaultValue) { _stateMachine = MonoBehaviour.FindObjectOfType<SystemStateMachine>(); _stateMachineGlobalPauseEnabledValue = defaultValue; }