Beispiel #1
0
            /// <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);
            }
Beispiel #2
0
            /// <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);
            }