public void accumulateStats(VertexStatus status, int parallelism) { setSuccessful(status.getState().equals(VertexStatus.State.SUCCEEDED)); this.vertexState = status.getState(); this.parallelism = parallelism; //compile time parallelism
@Override public String getDisplayString() { StringBuilder sb = new StringBuilder(); sb.append(String.format("%-10s ", name)); if (state == JobState.FAILED) { sb.append(vertexState.name()); } sb.append(String.format("%9s ", parallelism)); sb.append(String.format("%10s ", numTasks)); sb.append(String.format("%14s ", numInputRecords)); sb.append(String.format("%20s ", numReduceInputRecords)); sb.append(String.format("%14s ", numOutputRecords)); sb.append(String.format("%14s ", fileBytesRead)); sb.append(String.format("%16s ", fileBytesWritten)); sb.append(String.format("%14s ", hdfsBytesRead)); sb.append(String.format("%16s ", hdfsBytesWritten)); sb.append(getAlias()).append("\t"); sb.append(getFeature()).append("\t"); for (OutputStats os : outputs) { sb.append(os.getLocation()).append(","); } sb.append("\n"); return sb.toString(); }
addDiagnostic(diag); abortVertex(VertexStatus.State.valueOf(finalState.name())); eventHandler.handle(new DAGEvent(getDAGId(), DAGEventType.INTERNAL_ERROR)); addDiagnostic(diag); abortVertex(VertexStatus.State.valueOf(finalState.name())); eventHandler.handle(new DAGEventVertexCompleted(getVertexId(), finalState, terminationCause));
String vertexStr = String.format(VERTEX_FORMAT, nameWithProgress, vertexState.toString(), total, complete,
@Override public int hashCode() { final int prime = 46021; int result = 1; result = prime + getState().hashCode(); List<String> diagnostics = getDiagnostics(); Progress vProgress = getProgress(); TezCounters counters = getVertexCounters(); result = prime * result + ((diagnostics == null)? 0 : diagnostics.hashCode()); result = prime * result + ((vProgress == null)? 0 : vProgress.hashCode()); result = prime * result + ((counters == null)? 0 : counters.hashCode()); return result; }
@Override public boolean equals(Object obj) { if (obj instanceof VertexStatus){ VertexStatus other = (VertexStatus)obj; return getState().equals(other.getState()) && getDiagnostics().equals(other.getDiagnostics()) && getProgress().equals(other.getProgress()) && ((getVertexCounters() == null && other.getVertexCounters() == null) || getVertexCounters().equals(other.getVertexCounters())); } return false; }
String vertexStatus(VertexStatus vertexStatus) { // To get vertex status we can use DAGClient.getVertexStatus(), but it will be expensive to // get status from AM for every refresh of the UI. Lets infer the state from task counts. // Only if DAG is FAILED or KILLED the vertex status is fetched from AM. VertexStatus.State vertexState = VertexStatus.State.INITIALIZING; if (totalTaskCount > 0) { vertexState = VertexStatus.State.INITED; } // RUNNING state if (isRunning()) { vertexState = VertexStatus.State.RUNNING; } // SUCCEEDED state if (succeededTaskCount == totalTaskCount) { vertexState = VertexStatus.State.SUCCEEDED; } // DAG might have been killed, lets try to get vertex state from AM before dying // KILLED or FAILED state if (dagState == KILLED) { if (vertexStatus != null) { vertexState = vertexStatus.getState(); } } return vertexState.toString(); }
String vertexStatus(VertexStatus vertexStatus) { // To get vertex status we can use DAGClient.getVertexStatus(), but it will be expensive to // get status from AM for every refresh of the UI. Lets infer the state from task counts. // Only if DAG is FAILED or KILLED the vertex status is fetched from AM. VertexStatus.State vertexState = VertexStatus.State.INITIALIZING; if (totalTaskCount > 0) { vertexState = VertexStatus.State.INITED; } // RUNNING state if (isRunning()) { vertexState = VertexStatus.State.RUNNING; } // SUCCEEDED state if (succeededTaskCount == totalTaskCount) { vertexState = VertexStatus.State.SUCCEEDED; } // DAG might have been killed, lets try to get vertex state from AM before dying // KILLED or FAILED state if (dagState == KILLED) { if (vertexStatus != null) { vertexState = vertexStatus.getState(); } } return vertexState.toString(); }