use of org.apache.hyracks.control.cc.job.JobRun in project asterixdb by apache.
the class ReportProfilesWork method run.
@Override
public void run() {
for (JobProfile profile : profiles) {
JobRun run = jobManager.get(profile.getJobId());
if (run != null) {
JobProfile jp = run.getJobProfile();
jp.merge(profile);
}
}
}
use of org.apache.hyracks.control.cc.job.JobRun in project asterixdb by apache.
the class TaskFailureWork method performEvent.
@Override
protected void performEvent(TaskAttempt ta) {
IJobManager jobManager = ccs.getJobManager();
JobRun run = jobManager.get(jobId);
ccs.getDatasetDirectoryService().reportJobFailure(jobId, exceptions);
run.getExecutor().notifyTaskFailure(ta, exceptions);
}
use of org.apache.hyracks.control.cc.job.JobRun in project asterixdb by apache.
the class GetJobInfoWork method doRun.
@Override
protected void doRun() throws Exception {
try {
JobRun run = jobManager.get(jobId);
JobInfo info = (run != null) ? new JobInfo(run.getJobId(), run.getStatus(), run.getOperatorLocations()) : null;
callback.setValue(info);
} catch (Exception e) {
callback.setException(e);
}
}
use of org.apache.hyracks.control.cc.job.JobRun in project asterixdb by apache.
the class ActivityClusterPlanner method getTaskCluster.
private TaskCluster getTaskCluster(TaskId tid) {
JobRun run = executor.getJobRun();
ActivityCluster ac = run.getActivityClusterGraph().getActivityMap().get(tid.getActivityId());
ActivityClusterPlan acp = run.getActivityClusterPlanMap().get(ac.getId());
Task[] tasks = acp.getActivityPlanMap().get(tid.getActivityId()).getTasks();
Task task = tasks[tid.getPartition()];
assert task.getTaskId().equals(tid);
return task.getTaskCluster();
}
use of org.apache.hyracks.control.cc.job.JobRun in project asterixdb by apache.
the class ActivityClusterPlanner method planActivityCluster.
ActivityClusterPlan planActivityCluster(ActivityCluster ac) throws HyracksException {
JobRun jobRun = executor.getJobRun();
Map<ActivityId, ActivityPartitionDetails> pcMap = computePartitionCounts(ac);
Map<ActivityId, ActivityPlan> activityPlanMap = buildActivityPlanMap(ac, jobRun, pcMap);
assignConnectorPolicy(ac, activityPlanMap);
TaskCluster[] taskClusters = computeTaskClusters(ac, jobRun, activityPlanMap);
if (LOGGER.isLoggable(Level.INFO)) {
LOGGER.info("Plan for " + ac);
LOGGER.info("Built " + taskClusters.length + " Task Clusters");
for (TaskCluster tc : taskClusters) {
LOGGER.info("Tasks: " + Arrays.toString(tc.getTasks()));
}
}
return new ActivityClusterPlan(taskClusters, activityPlanMap);
}
Aggregations