/// <exception cref="System.IO.IOException"/> public virtual GetTaskReportsResponse GetTaskReports(GetTaskReportsRequest request ) { JobId jobId = request.GetJobId(); TaskType taskType = request.GetTaskType(); GetTaskReportsResponse response = this.recordFactory.NewRecordInstance <GetTaskReportsResponse >(); Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job job = this.VerifyAndGetJob(jobId, JobACL .ViewJob, true); ICollection <Task> tasks = job.GetTasks(taskType).Values; MRClientService.Log.Info("Getting task report for " + taskType + " " + jobId + ". Report-size will be " + tasks.Count); // Take lock to allow only one call, otherwise heap will blow up because // of counters in the report when there are multiple callers. lock (this.getTaskReportsLock) { foreach (Task task in tasks) { response.AddTaskReport(task.GetReport()); } } return(response); }
/// <exception cref="System.IO.IOException"/> public virtual GetTaskReportsResponse GetTaskReports(GetTaskReportsRequest request ) { JobId jobId = request.GetJobId(); TaskType taskType = request.GetTaskType(); GetTaskReportsResponse response = this.recordFactory.NewRecordInstance <GetTaskReportsResponse >(); Org.Apache.Hadoop.Mapreduce.V2.App.Job.Job job = this.VerifyAndGetJob(jobId, true ); ICollection <Task> tasks = job.GetTasks(taskType).Values; foreach (Task task in tasks) { response.AddTaskReport(task.GetReport()); } return(response); }