JvmContext() { jvmId = new JVMId(); pid = ""; }
/** * Run the given task asynchronously. */ void runTask(Task task) { JobID jobId = task.getJobID(); boolean isMap = task.isMapTask(); JVMId jvmId = new JVMId(jobId, isMap, taskCounter++); synchronized(this) { taskJvms.put(jvmId.getId(), jvmId); runningTasks.put(jvmId.getId(), task); } TaskRunnable taskRunnable = new TaskRunnable(task, jvmId.getId()); executor.execute(taskRunnable); }
public static JVMId read(DataInput in) throws IOException { JVMId jvmId = new JVMId(); jvmId.readFields(in); return jvmId; }
final TaskAttemptID firstTaskid = TaskAttemptID.forName(args[2]); long jvmIdLong = Long.parseLong(args[3]); JVMId jvmId = new JVMId(firstTaskid.getJobID(), firstTaskid.getTaskType() == TaskType.MAP, jvmIdLong); JvmMetrics.initSingleton(jvmId.toString(), job.getSessionId()); childUGI = UserGroupInformation.createRemoteUser(System .getenv(ApplicationConstants.Environment.USER.toString()));
private void configureMocks() { firstReduceStatus = new ReduceTaskStatus(attemptID, 0.0f, 1, TaskStatus.State.RUNNING, "", "RUNNING", "", TaskStatus.Phase.SHUFFLE, new Counters()); firstReduceStatus.addFetchFailedMap(TaskAttemptID.forName(ATTEMPT1_ID)); secondReduceStatus = new ReduceTaskStatus(attemptID, 0.0f, 1, TaskStatus.State.RUNNING, "", "RUNNING", "", TaskStatus.Phase.SORT, new Counters()); secondReduceStatus.addFetchFailedMap(TaskAttemptID.forName(ATTEMPT2_ID)); thirdReduceStatus = new ReduceTaskStatus(attemptID, 0.0f, 1, TaskStatus.State.RUNNING, "", "RUNNING", "", TaskStatus.Phase.REDUCE, new Counters()); when(dispatcher.getEventHandler()).thenReturn(ea); when(appCtx.getEventHandler()).thenReturn(ea); policy = new CheckpointAMPreemptionPolicy(); policy.init(appCtx); listener = new MockTaskAttemptListenerImpl(appCtx, secret, rmHeartbeatHandler, hbHandler, policy); id = new JVMId("foo", 1, true, 1); wid = new WrappedJvmID(id.getJobId(), id.isMap, id.getId()); attemptID = new TaskAttemptID("1", 1, TaskType.MAP, 1, 1); attemptId = TypeConverter.toYarn(attemptID); }
public JvmTask getTask(JvmContext context) { int id = context.jvmId.getId(); synchronized(this) { Task task = runningTasks.get(id); if (task != null) { return new JvmTask(task, false); } else { return new JvmTask(null, true); } } }
public void readFields(DataInput in) throws IOException { jvmId.readFields(in); this.pid = Text.readString(in); }
ensureAuthorizedJVM(context.jvmId.getJobId()); JVMId jvmId = context.jvmId; return new JvmTask(null, true); RunningJob rjob = runningJobs.get(jvmId.getJobId()); if (rjob == null) { //kill the JVM since the job is dead LOG.info("Killing JVM " + jvmId + " since job " + jvmId.getJobId() + " is dead"); jvmManager.killJvm(jvmId);
@Override public String toString() { return appendTo(new StringBuilder(JVM)).toString(); }
public void write(DataOutput out) throws IOException { jvmId.write(out); Text.writeString(out, pid); } }
private synchronized String getDetails() { StringBuffer details = new StringBuffer(); details.append("Number of active JVMs:"). append(jvmIdToRunner.size()); Iterator<JVMId> jvmIter = jvmIdToRunner.keySet().iterator(); while (jvmIter.hasNext()) { JVMId jvmId = jvmIter.next(); details.append("\n JVMId "). append(jvmId.toString()). append(" #Tasks ran: "). append(jvmIdToRunner.get(jvmId).numTasksRan). append(" Currently busy? "). append(jvmIdToRunner.get(jvmId).isBusy()). append(" Currently running: "). append(jvmToRunningTask.get(jvmId).getTask().getTaskID().toString()); } return details.toString(); }
void setPidToJvm(JVMId jvmId, String pid) { if (jvmId.isMapJVM()) { mapJvmManager.jvmIdToPid.put(jvmId, pid); } else { reduceJvmManager.jvmIdToPid.put(jvmId, pid); } }
final TaskAttemptID firstTaskid = TaskAttemptID.forName(args[2]); long jvmIdLong = Long.parseLong(args[3]); JVMId jvmId = new JVMId(firstTaskid.getJobID(), firstTaskid.getTaskType() == TaskType.MAP, jvmIdLong); JvmMetrics.initSingleton(jvmId.toString(), job.getSessionId()); childUGI = UserGroupInformation.createRemoteUser(System .getenv(ApplicationConstants.Environment.USER.toString()));
public void runChild(JvmEnv env) { try { env.vargs.add(Integer.toString(jvmId.getId())); List<String> wrappedCommand = TaskLog.captureOutAndError(env.setup, env.vargs, env.stdout, env.stderr,
public void readFields(DataInput in) throws IOException { jvmId.readFields(in); this.pid = Text.readString(in); }
@Override public String toString() { return appendTo(new StringBuilder(JVM)).toString(); }