flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [flink] zentol commented on a change in pull request #8446: [FLINK-12414] [runtime] Implement ExecutionGraph to SchedulingTopology
Date Thu, 16 May 2019 13:12:42 GMT
zentol commented on a change in pull request #8446: [FLINK-12414] [runtime] Implement ExecutionGraph
to SchedulingTopology
URL: https://github.com/apache/flink/pull/8446#discussion_r284695717
 
 

 ##########
 File path: flink-runtime/src/test/java/org/apache/flink/runtime/scheduler/adapter/DefaultExecutionVertexTest.java
 ##########
 @@ -18,131 +18,112 @@
 
 package org.apache.flink.runtime.scheduler.adapter;
 
-import org.apache.flink.api.common.JobID;
 import org.apache.flink.runtime.execution.ExecutionState;
-import org.apache.flink.runtime.executiongraph.ExecutionEdge;
-import org.apache.flink.runtime.executiongraph.ExecutionGraph;
-import org.apache.flink.runtime.executiongraph.ExecutionVertex;
-import org.apache.flink.runtime.executiongraph.IntermediateResultPartition;
-import org.apache.flink.runtime.executiongraph.TestRestartStrategy;
-import org.apache.flink.runtime.executiongraph.utils.SimpleAckingTaskManagerGateway;
+import org.apache.flink.runtime.jobgraph.IntermediateDataSetID;
 import org.apache.flink.runtime.jobgraph.IntermediateResultPartitionID;
-import org.apache.flink.runtime.jobgraph.JobVertex;
+import org.apache.flink.runtime.jobgraph.JobVertexID;
+import org.apache.flink.runtime.scheduler.strategy.ExecutionVertexID;
 import org.apache.flink.runtime.scheduler.strategy.SchedulingExecutionVertex;
 import org.apache.flink.runtime.scheduler.strategy.SchedulingResultPartition;
+import org.apache.flink.util.TestLogger;
 
 import org.junit.Before;
 import org.junit.Test;
 
+import javax.xml.ws.Provider;
+
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
-import java.util.Random;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 import static org.apache.flink.api.common.InputDependencyConstraint.ALL;
-import static org.apache.flink.api.common.InputDependencyConstraint.ANY;
-import static org.apache.flink.runtime.executiongraph.ExecutionGraphTestUtils.createNoOpVertex;
-import static org.apache.flink.runtime.executiongraph.ExecutionGraphTestUtils.createSimpleTestGraph;
-import static org.apache.flink.runtime.executiongraph.ExecutionGraphTestUtils.setVertexState;
 import static org.apache.flink.runtime.io.network.partition.ResultPartitionType.BLOCKING;
-import static org.apache.flink.runtime.jobgraph.DistributionPattern.ALL_TO_ALL;
 import static org.hamcrest.Matchers.containsInAnyOrder;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 
 /**
  * Unit tests for {@link DefaultExecutionVertex}.
  */
-public class DefaultExecutionVertexTest {
-
-	private final SimpleAckingTaskManagerGateway taskManagerGateway = new SimpleAckingTaskManagerGateway();
-
-	private final TestRestartStrategy triggeredRestartStrategy = TestRestartStrategy.manuallyTriggered();
+public class DefaultExecutionVertexTest extends TestLogger {
 
-	private final int parallelism = 3;
+	private final ExecutionStateProviderTest stateProvider = new ExecutionStateProviderTest();
 
 	private List<SchedulingExecutionVertex> schedulingExecutionVertices;
 
-	private List<ExecutionVertex> executionVertices;
+	private IntermediateResultPartitionID intermediateResultPartitionId;
 
 	@Before
 	public void setUp() throws Exception {
-		JobVertex[] jobVertices = new JobVertex[2];
-		jobVertices[0] = createNoOpVertex(parallelism);
-		jobVertices[1] = createNoOpVertex(parallelism);
-		jobVertices[1].connectNewDataSetAsInput(jobVertices[0], ALL_TO_ALL, BLOCKING);
-		jobVertices[0].setInputDependencyConstraint(ALL);
-		jobVertices[1].setInputDependencyConstraint(ANY);
-		ExecutionGraph executionGraph = createSimpleTestGraph(
-			new JobID(),
-			taskManagerGateway,
-			triggeredRestartStrategy,
-			jobVertices);
-		ExecutionGraphToSchedulingTopologyAdapter adapter = new ExecutionGraphToSchedulingTopologyAdapter(executionGraph);
-
-		schedulingExecutionVertices = new ArrayList<>();
-		adapter.getVertices().forEach(vertex -> schedulingExecutionVertices.add(vertex));
-		executionVertices = new ArrayList<>();
-		executionGraph.getAllExecutionVertices().forEach(vertex -> executionVertices.add(vertex));
-	}
 
-	@Test
-	public void testGetId() {
-		for (int idx = 0; idx < schedulingExecutionVertices.size(); idx++){
-			assertEquals(schedulingExecutionVertices.get(idx).getId().getJobVertexId(),
-				executionVertices.get(idx).getJobvertexId());
-			assertEquals(schedulingExecutionVertices.get(idx).getId().getSubtaskIndex(),
-				executionVertices.get(idx).getParallelSubtaskIndex());
-		}
+		schedulingExecutionVertices = new ArrayList<>(2);
+		intermediateResultPartitionId = new IntermediateResultPartitionID();
+
+		DefaultResultPartition schedulingResultPartition = new DefaultResultPartition(
+			intermediateResultPartitionId,
+			new IntermediateDataSetID(),
+			BLOCKING);
+		DefaultExecutionVertex schedulingVertex1 = new DefaultExecutionVertex(
+			new ExecutionVertexID(new JobVertexID(), 0),
+			Collections.singletonList(schedulingResultPartition),
+			ALL,
+			stateProvider);
+		schedulingResultPartition.setProducer(schedulingVertex1);
+		DefaultExecutionVertex schedulingVertex2 = new DefaultExecutionVertex(
+			new ExecutionVertexID(new JobVertexID(), 0),
+			Collections.emptyList(),
+			ALL,
+			stateProvider);
+		schedulingVertex2.addConsumedPartition(schedulingResultPartition);
+		schedulingExecutionVertices.add(schedulingVertex1);
+		schedulingExecutionVertices.add(schedulingVertex2);
 	}
 
 	@Test
 	public void testGetExecutionState() {
 		final ExecutionState[] states = ExecutionState.values();
-		Random random = new Random();
-		for (ExecutionVertex executionVertex: executionVertices) {
-			setVertexState(executionVertex, states[Math.abs(random.nextInt()) % states.length]);
-		}
-
-		for (int idx = 0; idx < schedulingExecutionVertices.size(); idx++) {
-			assertEquals(schedulingExecutionVertices.get(idx).getState(), executionVertices.get(idx).getExecutionState());
+		for (ExecutionState state : states) {
+			for (SchedulingExecutionVertex srp : schedulingExecutionVertices) {
 
 Review comment:
   it should be sufficient to test this for 1 vertex

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

Mime
View raw message