You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tez.apache.org by "Jeff Zhang (JIRA)" <ji...@apache.org> on 2015/05/05 09:24:06 UTC
[jira] [Updated] (TEZ-2413) No need to check whether vertex has
been committed as shared output in DAGImpl#vertexreRunning
[ https://issues.apache.org/jira/browse/TEZ-2413?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Zhang updated TEZ-2413:
----------------------------
Description:
* Vertex only send out DAGEventVertexReRunning when vertex.commitVertexOutputs is false, that means it is not necessary to check whether it has been committed as shared output of vertex group in DAGImpl#vertexReRunning
{code}
private boolean vertexReRunning(Vertex vertex) {
reRunningVertices.add(vertex.getVertexId());
numSuccessfulVertices--;
addDiagnostic("Vertex re-running"
+ ", vertexName=" + vertex.getName()
+ ", vertexId=" + vertex.getVertexId());
if (!commitAllOutputsOnSuccess) {
// partial output may already have been committed. fail if so
List<VertexGroupInfo> groupList = vertexGroupInfo.get(vertex.getName());
if (groupList != null) {
for (VertexGroupInfo groupInfo : groupList) {
if (groupInfo.committed) {
String msg = "Aborting job as committed vertex: "
+ vertex.getLogIdentifier() + " is re-running";
LOG.info(msg);
addDiagnostic(msg);
enactKill(DAGTerminationCause.VERTEX_RERUN_AFTER_COMMIT,
VertexTerminationCause.VERTEX_RERUN_AFTER_COMMIT);
return true;
} else {
groupInfo.successfulMembers--;
}
}
}
}
> No need to check whether vertex has been committed as shared output in DAGImpl#vertexreRunning
> ----------------------------------------------------------------------------------------------
>
> Key: TEZ-2413
> URL: https://issues.apache.org/jira/browse/TEZ-2413
> Project: Apache Tez
> Issue Type: Bug
> Reporter: Jeff Zhang
> Assignee: Jeff Zhang
>
> * Vertex only send out DAGEventVertexReRunning when vertex.commitVertexOutputs is false, that means it is not necessary to check whether it has been committed as shared output of vertex group in DAGImpl#vertexReRunning
> {code}
> private boolean vertexReRunning(Vertex vertex) {
> reRunningVertices.add(vertex.getVertexId());
> numSuccessfulVertices--;
> addDiagnostic("Vertex re-running"
> + ", vertexName=" + vertex.getName()
> + ", vertexId=" + vertex.getVertexId());
> if (!commitAllOutputsOnSuccess) {
> // partial output may already have been committed. fail if so
> List<VertexGroupInfo> groupList = vertexGroupInfo.get(vertex.getName());
> if (groupList != null) {
> for (VertexGroupInfo groupInfo : groupList) {
> if (groupInfo.committed) {
> String msg = "Aborting job as committed vertex: "
> + vertex.getLogIdentifier() + " is re-running";
> LOG.info(msg);
> addDiagnostic(msg);
> enactKill(DAGTerminationCause.VERTEX_RERUN_AFTER_COMMIT,
> VertexTerminationCause.VERTEX_RERUN_AFTER_COMMIT);
> return true;
> } else {
> groupInfo.successfulMembers--;
> }
> }
> }
> }
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)