private void SimulateFailure(int onIteration) { if (_iterations == onIteration && _taskIdsToFail.FirstOrDefault(e => _taskId.StartsWith(e)) != null && _taskIdsToFail.FirstOrDefault(e => _taskId.Equals(e + _maxRetryInRecovery)) == null && _retryIndex < _totalNumberOfForcedFailures) { Logger.Log(Level.Warning, "Simulating {0} failure for taskId {1}", FailureType.IsEvaluatorFailure(_failureType) ? "evaluator" : "task", _taskId); if (FailureType.IsEvaluatorFailure(_failureType)) { // simulate evaluator failure Environment.Exit(1); } else { // simulate task failure throw new ArgumentNullException("Simulating task failure"); } } }