public synchronized static TaskId newTaskId(ExecutionBlockId executionBlockId, int id) { return new TaskId(executionBlockId, id); }
public StageTaskEvent(TaskId taskId, TaskState state) { super(taskId.getExecutionBlockId(), StageEventType.SQ_TASK_COMPLETED); this.taskId = taskId; this.state = state; }
public Path getAppenderFilePath(TaskAttemptId taskAttemptId, Path workDir) { if (taskAttemptId == null) { // For testcase return workDir; } // The final result of a task will be written in a file named part-ss-nnnnnnn, // where ss is the stage id associated with this task, and nnnnnn is the task id. Path outFilePath = StorageUtil.concatPath(workDir, TajoConstants.RESULT_DIR_NAME, OUTPUT_FILE_PREFIX + OUTPUT_FILE_FORMAT_STAGE.get().format(taskAttemptId.getTaskId().getExecutionBlockId().getId()) + "-" + OUTPUT_FILE_FORMAT_TASK.get().format(taskAttemptId.getTaskId().getId()) + "-" + OUTPUT_FILE_FORMAT_SEQ.get().format(0)); LOG.info("Output File Path: " + outFilePath); return outFilePath; }
TaskId id = new TaskId(ebId, i); Task task = new Task(conf, scheduleContext, id, true, null); tasks.add(task); JSPUtil.sortTaskArray(taskArray, "id", "asc"); for (int i = 0; i < 10; i++) { assertEquals(i, taskArray[i].getId().getId()); JSPUtil.sortTaskArray(taskArray, "id", "desc"); for (int i = 0; i < 10; i++) { assertEquals(9 - i, taskArray[i].getId().getId()); assertEquals(0, taskArray[0].getId().getId()); assertEquals(9, taskArray[9].getId().getId()); assertEquals(8, taskArray[0].getId().getId()); assertEquals(9, taskArray[9].getId().getId());
@Test public void testCompareTo() { long time = System.currentTimeMillis(); QueryId queryId1 = createQueryId(time, 1); QueryId queryId2 = createQueryId(time, 2); QueryId queryId3 = createQueryId(time, 1); assertEquals(-1, queryId1.compareTo(queryId2)); assertEquals(1, queryId2.compareTo(queryId1)); assertEquals(0, queryId3.compareTo(queryId1)); ExecutionBlockId sid1 = QueryIdFactory.newExecutionBlockId(queryId1, 1); ExecutionBlockId sid2 = QueryIdFactory.newExecutionBlockId(queryId1, 2); ExecutionBlockId sid3 = QueryIdFactory.newExecutionBlockId(queryId1, 1); assertEquals(-1, sid1.compareTo(sid2)); assertEquals(1, sid2.compareTo(sid1)); assertEquals(0, sid3.compareTo(sid1)); TaskId qid1 = new TaskId(sid1, 9); TaskId qid2 = new TaskId(sid1, 10); TaskId qid3 = new TaskId(sid1, 9); assertEquals(-1, qid1.compareTo(qid2)); assertEquals(1, qid2.compareTo(qid1)); assertEquals(0, qid3.compareTo(qid1)); }
@Test public void testConstructFromPB() { QueryId qid1 = LocalTajoTestingUtility.newQueryId(); QueryId qid2 = new QueryId(qid1.getProto()); assertEquals(qid1, qid2); MasterPlan plan = new MasterPlan(qid1, null, null); ExecutionBlockId sub1 = plan.newExecutionBlockId(); ExecutionBlockId sub2 = TajoIdUtils.createExecutionBlockId(sub1.toString()); assertEquals(sub1, sub2); TaskId u1 = QueryIdFactory.newTaskId(sub1); TaskId u2 = new TaskId(u1.getProto()); assertEquals(u1, u2); TaskAttemptId attempt1 = new TaskAttemptId(u1, 1); TaskAttemptId attempt2 = new TaskAttemptId(attempt1.getProto()); assertEquals(attempt1, attempt2); }
public TaskImpl(final TaskRequest request, final ExecutionBlockContext executionBlockContext) throws IOException { this.request = request; this.executionBlockContext = executionBlockContext; this.systemConf = executionBlockContext.getConf(); this.queryContext = request.getQueryContext(systemConf); this.inputStats = new TableStats(); this.fetcherRunners = Lists.newArrayList(); this.descs = Maps.newHashMap(); Path baseDirPath = executionBlockContext.createBaseDir(); if(LOG.isDebugEnabled()) LOG.debug("Task basedir is created (" + baseDirPath +")"); TaskAttemptId taskAttemptId = request.getId(); this.taskDir = StorageUtil.concatPath(baseDirPath, taskAttemptId.getTaskId().getId() + "_" + taskAttemptId.getId()); this.context = new TaskAttemptContext(queryContext, executionBlockContext, taskAttemptId, request.getFragments().toArray(new FragmentProto[request.getFragments().size()]), taskDir); this.context.setDataChannel(request.getDataChannel()); this.context.setEnforcer(request.getEnforcer()); this.context.setState(TaskAttemptState.TA_PENDING); this.maxUrlLength = systemConf.getIntVar(ConfVars.PULLSERVER_FETCH_URL_MAX_LENGTH); }
@Override public int compareTo(TaskAttemptId taskAttemptId) { int result = taskId.compareTo(taskAttemptId.taskId); if (result == 0) { return id - taskAttemptId.id; } else { return result; } }
public TajoIdProtos.TaskAttemptIdProto getProto() { return TajoIdProtos.TaskAttemptIdProto.newBuilder() .setTaskId(taskId.getProto()) .setId(id) .build(); }
@Override public String toString() { return QU_ID_PREFIX + QueryId.SEPARATOR + toStringNoPrefix(); }
+ ", nextState:" + getState().name() , e); eventHandler.handle(new QueryEvent(TajoIdUtils.parseQueryId(getId().toString()), QueryEventType.INTERNAL_ERROR));
@Test public void testConstructFromString() { QueryId qid1 = LocalTajoTestingUtility.newQueryId(); QueryId qid2 = TajoIdUtils.parseQueryId(qid1.toString()); assertEquals(qid1, qid2); MasterPlan plan1 = new MasterPlan(qid1, null, null); ExecutionBlockId sub1 = plan1.newExecutionBlockId(); ExecutionBlockId sub2 = TajoIdUtils.createExecutionBlockId(sub1.toString()); assertEquals(sub1, sub2); TaskId u1 = QueryIdFactory.newTaskId(sub1); TaskId u2 = new TaskId(u1.getProto()); assertEquals(u1, u2); TaskAttemptId attempt1 = new TaskAttemptId(u1, 1); TaskAttemptId attempt2 = new TaskAttemptId(attempt1.getProto()); assertEquals(attempt1, attempt2); }
public TaskImpl(final TaskRequest request, final ExecutionBlockContext executionBlockContext) throws IOException { this.request = request; this.executionBlockContext = executionBlockContext; this.systemConf = executionBlockContext.getConf(); this.queryContext = request.getQueryContext(systemConf); this.inputStats = new TableStats(); this.fetcherRunners = Lists.newArrayList(); this.descs = Maps.newHashMap(); Path baseDirPath = executionBlockContext.createBaseDir(); if(LOG.isDebugEnabled()) LOG.debug("Task basedir is created (" + baseDirPath +")"); TaskAttemptId taskAttemptId = request.getId(); this.taskDir = StorageUtil.concatPath(baseDirPath, taskAttemptId.getTaskId().getId() + "_" + taskAttemptId.getId()); this.context = new TaskAttemptContext(queryContext, executionBlockContext, taskAttemptId, request.getFragments().toArray(new FragmentProto[request.getFragments().size()]), taskDir); this.context.setDataChannel(request.getDataChannel()); this.context.setEnforcer(request.getEnforcer()); this.context.setState(TaskAttemptState.TA_PENDING); this.maxUrlLength = systemConf.getIntVar(ConfVars.PULLSERVER_FETCH_URL_MAX_LENGTH); }
@Override public int compareTo(TaskAttemptId taskAttemptId) { int result = taskId.compareTo(taskAttemptId.taskId); if (result == 0) { return id - taskAttemptId.id; } else { return result; } }
public TajoIdProtos.TaskAttemptIdProto getProto() { return TajoIdProtos.TaskAttemptIdProto.newBuilder() .setTaskId(taskId.getProto()) .setId(id) .build(); }
@Override public String toString() { return QU_ID_PREFIX + QueryId.SEPARATOR + toStringNoPrefix(); }
+ ", nextState:" + getState().name() , e); eventHandler.handle(new QueryEvent(TajoIdUtils.parseQueryId(getId().toString()), QueryEventType.INTERNAL_ERROR));
public StageTaskEvent(TaskId taskId, TaskState state) { super(taskId.getExecutionBlockId(), StageEventType.SQ_TASK_COMPLETED); this.taskId = taskId; this.state = state; }
public Path getAppenderFilePath(TaskAttemptId taskAttemptId, Path workDir) { if (taskAttemptId == null) { // For testcase return workDir; } // The final result of a task will be written in a file named part-ss-nnnnnnn, // where ss is the stage id associated with this task, and nnnnnn is the task id. Path outFilePath = StorageUtil.concatPath(workDir, TajoConstants.RESULT_DIR_NAME, OUTPUT_FILE_PREFIX + OUTPUT_FILE_FORMAT_STAGE.get().format(taskAttemptId.getTaskId().getExecutionBlockId().getId()) + "-" + OUTPUT_FILE_FORMAT_TASK.get().format(taskAttemptId.getTaskId().getId()) + "-" + OUTPUT_FILE_FORMAT_SEQ.get().format(0)); LOG.info("Output File Path: " + outFilePath); return outFilePath; }
public synchronized static TaskId newTaskId(ExecutionBlockId executionBlockId, int id) { return new TaskId(executionBlockId, id); }