You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by bi...@apache.org on 2013/11/10 08:29:12 UTC
git commit: Addendum TEZ-576. Allow inputs in different vertices to
have the same name (bikas)
Updated Branches:
refs/heads/master 13fdd0580 -> e6543235a
Addendum TEZ-576. Allow inputs in different vertices to have the same name (bikas)
Project: http://git-wip-us.apache.org/repos/asf/incubator-tez/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tez/commit/e6543235
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tez/tree/e6543235
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tez/diff/e6543235
Branch: refs/heads/master
Commit: e6543235a31d36c7a15430b57cbc42a660821bc5
Parents: 13fdd05
Author: Bikas Saha <bi...@apache.org>
Authored: Sat Nov 9 23:25:58 2013 -0800
Committer: Bikas Saha <bi...@apache.org>
Committed: Sat Nov 9 23:25:58 2013 -0800
----------------------------------------------------------------------
.../main/java/org/apache/tez/dag/api/DAG.java | 20 ++++++++++++
.../java/org/apache/tez/dag/api/Vertex.java | 6 ++--
.../org/apache/tez/dag/api/TestDAGVerify.java | 34 ++++++++++++++++++++
3 files changed, 58 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tez/blob/e6543235/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java b/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java
index 22a9a2e..5b62007 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java
@@ -194,6 +194,26 @@ public class DAG { // FIXME rename to Topology
outboundSet.add(outputVertex.getVertexName());
}
+ // check input and output names dont collide with vertex names
+ for (Vertex vertex : vertices.values()) {
+ for (RootInputLeafOutput<InputDescriptor> input : vertex.getInputs()) {
+ if (vertexMap.containsKey(input.getName())) {
+ throw new IllegalStateException("Vertex: "
+ + vertex.getVertexName()
+ + " contains an Input with the same name as vertex: "
+ + input.getName());
+ }
+ }
+ for (RootInputLeafOutput<OutputDescriptor> output : vertex.getOutputs()) {
+ if (vertexMap.containsKey(output.getName())) {
+ throw new IllegalStateException("Vertex: "
+ + vertex.getVertexName()
+ + " contains an Output with the same name as vertex: "
+ + output.getName());
+ }
+ }
+ }
+
// Check for valid InputNames
for (Entry<Vertex, Set<String>> entry : inboundVertexMap.entrySet()) {
Vertex vertex = entry.getKey();
http://git-wip-us.apache.org/repos/asf/incubator-tez/blob/e6543235/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java b/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java
index 065d98b..17fa558 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java
@@ -40,8 +40,10 @@ public class Vertex { // FIXME rename to Task
private final Resource taskResource;
private Map<String, LocalResource> taskLocalResources;
private Map<String, String> taskEnvironment;
- private final List<RootInputLeafOutput<InputDescriptor>> additionalInputs = new ArrayList<RootInputLeafOutput<InputDescriptor>>();
- private final List<RootInputLeafOutput<OutputDescriptor>> additionalOutputs = new ArrayList<RootInputLeafOutput<OutputDescriptor>>();
+ private final List<RootInputLeafOutput<InputDescriptor>> additionalInputs
+ = new ArrayList<RootInputLeafOutput<InputDescriptor>>();
+ private final List<RootInputLeafOutput<OutputDescriptor>> additionalOutputs
+ = new ArrayList<RootInputLeafOutput<OutputDescriptor>>();
private final List<Vertex> inputVertices = new ArrayList<Vertex>();
private final List<Vertex> outputVertices = new ArrayList<Vertex>();
http://git-wip-us.apache.org/repos/asf/incubator-tez/blob/e6543235/tez-api/src/test/java/org/apache/tez/dag/api/TestDAGVerify.java
----------------------------------------------------------------------
diff --git a/tez-api/src/test/java/org/apache/tez/dag/api/TestDAGVerify.java b/tez-api/src/test/java/org/apache/tez/dag/api/TestDAGVerify.java
index 81718bc..b8a5e84 100644
--- a/tez-api/src/test/java/org/apache/tez/dag/api/TestDAGVerify.java
+++ b/tez-api/src/test/java/org/apache/tez/dag/api/TestDAGVerify.java
@@ -327,6 +327,40 @@ public class TestDAGVerify {
dag.verify();
}
+ @Test (expected = IllegalStateException.class)
+ public void testOutputAndVertexNameCollision() {
+ Vertex v1 = new Vertex("v1",
+ new ProcessorDescriptor("MapProcessor"),
+ dummyTaskCount, dummyTaskResource);
+ Vertex v2 = new Vertex("v2",
+ new ProcessorDescriptor("MapProcessor"),
+ dummyTaskCount, dummyTaskResource);
+
+ v1.addOutput("v2", new OutputDescriptor());
+
+ DAG dag = new DAG("testDag");
+ dag.addVertex(v1);
+ dag.addVertex(v2);
+ dag.verify();
+ }
+
+ @Test (expected = IllegalStateException.class)
+ public void testInputAndVertexNameCollision() {
+ Vertex v1 = new Vertex("v1",
+ new ProcessorDescriptor("MapProcessor"),
+ dummyTaskCount, dummyTaskResource);
+ Vertex v2 = new Vertex("v2",
+ new ProcessorDescriptor("MapProcessor"),
+ dummyTaskCount, dummyTaskResource);
+
+ v1.addInput("v2", new InputDescriptor(), null);
+
+ DAG dag = new DAG("testDag");
+ dag.addVertex(v1);
+ dag.addVertex(v2);
+ dag.verify();
+ }
+
// v1 v2
// | |
// v3