You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by je...@apache.org on 2014/11/17 20:22:18 UTC
[09/50] [abbrv] tez git commit: TEZ-1711. Don't cache outputSpecList
in VertexImpl.getOutputSpecList(taskIndex). (zjffdu)
TEZ-1711. Don't cache outputSpecList in VertexImpl.getOutputSpecList(taskIndex). (zjffdu)
Project: http://git-wip-us.apache.org/repos/asf/tez/repo
Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/7f8fc753
Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/7f8fc753
Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/7f8fc753
Branch: refs/heads/TEZ-8
Commit: 7f8fc7530b39106e238c67b7bd22d5ed5670d449
Parents: c570a0e
Author: Jeff Zhang <zj...@apache.org>
Authored: Fri Oct 31 08:47:18 2014 +0800
Committer: Jeff Zhang <zj...@apache.org>
Committed: Fri Oct 31 08:47:18 2014 +0800
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/tez/dag/app/dag/impl/VertexImpl.java | 18 +++++++-----------
.../apache/tez/dag/app/dag/impl/TestDAGImpl.java | 5 ++++-
3 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tez/blob/7f8fc753/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 68d4838..0b2dc65 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -91,6 +91,7 @@ ALL CHANGES:
based affinity
TEZ-1716. Additional ATS data for UI.
TEZ-1722. DAG should be related to Application Id in ATS data.
+ TEZ-1711. Don't cache outputSpecList in VertexImpl.getOutputSpecList(taskIndex)
Release 0.5.1: 2014-10-02
http://git-wip-us.apache.org/repos/asf/tez/blob/7f8fc753/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java
----------------------------------------------------------------------
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java
index 4edd12b..c182810 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java
@@ -224,8 +224,6 @@ public class VertexImpl implements org.apache.tez.dag.app.dag.Vertex,
@VisibleForTesting
int numSuccessSourceAttemptCompletions = 0;
- List<InputSpec> inputSpecList;
- List<OutputSpec> outputSpecList;
List<GroupInputSpec> groupInputSpecList;
Set<String> sharedOutputs = Sets.newHashSet();
@@ -3931,7 +3929,7 @@ public class VertexImpl implements org.apache.tez.dag.app.dag.Vertex,
// TODO Eventually remove synchronization.
@Override
public synchronized List<InputSpec> getInputSpecList(int taskIndex) throws AMUserCodeException {
- inputSpecList = new ArrayList<InputSpec>(this.getInputVerticesCount()
+ List<InputSpec> inputSpecList = new ArrayList<InputSpec>(this.getInputVerticesCount()
+ (rootInputDescriptors == null ? 0 : rootInputDescriptors.size()));
if (rootInputDescriptors != null) {
for (Entry<String, RootInputLeafOutput<InputDescriptor, InputInitializerDescriptor>>
@@ -3956,14 +3954,12 @@ public class VertexImpl implements org.apache.tez.dag.app.dag.Vertex,
// TODO Eventually remove synchronization.
@Override
public synchronized List<OutputSpec> getOutputSpecList(int taskIndex) throws AMUserCodeException {
- if (this.outputSpecList == null) {
- outputSpecList = new ArrayList<OutputSpec>(this.getOutputVerticesCount()
- + this.additionalOutputSpecs.size());
- outputSpecList.addAll(additionalOutputSpecs);
- for (Entry<Vertex, Edge> entry : this.getOutputVertices().entrySet()) {
- OutputSpec outputSpec = entry.getValue().getSourceSpec(taskIndex);
- outputSpecList.add(outputSpec);
- }
+ List<OutputSpec> outputSpecList = new ArrayList<OutputSpec>(this.getOutputVerticesCount()
+ + this.additionalOutputSpecs.size());
+ outputSpecList.addAll(additionalOutputSpecs);
+ for (Entry<Vertex, Edge> entry : this.getOutputVertices().entrySet()) {
+ OutputSpec outputSpec = entry.getValue().getSourceSpec(taskIndex);
+ outputSpecList.add(outputSpec);
}
return outputSpecList;
}
http://git-wip-us.apache.org/repos/asf/tez/blob/7f8fc753/tez-dag/src/test/java/org/apache/tez/dag/app/dag/impl/TestDAGImpl.java
----------------------------------------------------------------------
diff --git a/tez-dag/src/test/java/org/apache/tez/dag/app/dag/impl/TestDAGImpl.java b/tez-dag/src/test/java/org/apache/tez/dag/app/dag/impl/TestDAGImpl.java
index e79eeef..f1961aa 100644
--- a/tez-dag/src/test/java/org/apache/tez/dag/app/dag/impl/TestDAGImpl.java
+++ b/tez-dag/src/test/java/org/apache/tez/dag/app/dag/impl/TestDAGImpl.java
@@ -644,6 +644,7 @@ public class TestDAGImpl {
return dag;
}
+ // v1 -> v2
private DAGPlan createDAGWithCustomEdge(ExceptionLocation exLocation) {
LOG.info("Setting up dag plan");
DAGPlan dag = DAGPlan.newBuilder()
@@ -920,7 +921,9 @@ public class TestDAGImpl {
dispatcher.getEventHandler().handle(new DAGEventStartDag(dagWithCustomEdge.getID(),
null));
dispatcher.await();
- Assert.assertEquals(DAGState.RUNNING, dagWithCustomEdge.getState());
+ // After TEZ-1711, all task attempts of v1 fail which result in task fail, and finally
+ // dag failed.
+ Assert.assertEquals(DAGState.FAILED, dagWithCustomEdge.getState());
VertexImpl v1 = (VertexImpl)dagWithCustomEdge.getVertex("vertex1");
Task t1= v1.getTask(0);