final JobID jobId = new JobID();
final String jobName = "Test Job Sample Name";
final Configuration cfg = new Configuration();
AbstractJobVertex v1 = new AbstractJobVertex("vertex1");
AbstractJobVertex v2 = new AbstractJobVertex("vertex2");
AbstractJobVertex v3 = new AbstractJobVertex("vertex3");
AbstractJobVertex v4 = new AbstractJobVertex("vertex4");
AbstractJobVertex v5 = new AbstractJobVertex("vertex5");
v1.setParallelism(5);
v2.setParallelism(7);
v3.setParallelism(2);
v4.setParallelism(11);
v5.setParallelism(4);
v2.connectNewDataSetAsInput(v1, DistributionPattern.BIPARTITE);
v4.connectNewDataSetAsInput(v2, DistributionPattern.BIPARTITE);
v4.connectNewDataSetAsInput(v3, DistributionPattern.BIPARTITE);
v5.connectNewDataSetAsInput(v4, DistributionPattern.BIPARTITE);
v5.connectNewDataSetAsInput(v3, DistributionPattern.BIPARTITE);
v3.setInputSplitSource(source1);
v5.setInputSplitSource(source2);
List<AbstractJobVertex> ordered = new ArrayList<AbstractJobVertex>(Arrays.asList(v1, v2, v3, v4, v5));
ExecutionGraph eg = new ExecutionGraph(jobId, jobName, cfg);
try {
eg.attachJobGraph(ordered);
}
catch (JobException e) {
e.printStackTrace();
fail("Job failed with exception: " + e.getMessage());
}
assertEquals(assigner1, eg.getAllVertices().get(v3.getID()).getSplitAssigner());
assertEquals(assigner2, eg.getAllVertices().get(v5.getID()).getSplitAssigner());
}
catch (Exception e) {
e.printStackTrace();
fail(e.getMessage());
}