sharingGroup = slotSharingGroups.computeIfAbsent( slotSharingGroupKey, (k) -> new SlotSharingGroup()); vertex.setSlotSharingGroup(sharingGroup); } else { sharingGroup = null;
vertex.setSlotSharingGroup(sharingGroup);
vertex.setMaxParallelism(pd); vertex.setSlotSharingGroup(sharingGroup);
@Nonnull private JobGraph createJobGraph(long delay, int parallelism) throws IOException { SlotSharingGroup slotSharingGroup = new SlotSharingGroup(); final JobVertex source = new JobVertex("source"); source.setInvokableClass(OneTimeFailingInvokable.class); source.setParallelism(parallelism); source.setSlotSharingGroup(slotSharingGroup); final JobVertex sink = new JobVertex("sink"); sink.setInvokableClass(NoOpInvokable.class); sink.setParallelism(parallelism); sink.setSlotSharingGroup(slotSharingGroup); sink.connectNewDataSetAsInput(source, DistributionPattern.POINTWISE, ResultPartitionType.PIPELINED); JobGraph jobGraph = new JobGraph(source, sink); jobGraph.setScheduleMode(ScheduleMode.EAGER); ExecutionConfig executionConfig = new ExecutionConfig(); executionConfig.setRestartStrategy(RestartStrategies.fixedDelayRestart(1, delay)); jobGraph.setExecutionConfig(executionConfig); return jobGraph; }
producer.setSlotSharingGroup(sharingGroup); forwarder = new JobVertex("Speed Test Forwarder"); jobGraph.addVertex(forwarder); forwarder.setSlotSharingGroup(sharingGroup); consumer.setSlotSharingGroup(sharingGroup);
sender.setSlotSharingGroup(slotSharingGroup); receiver.setSlotSharingGroup(slotSharingGroup);
private void setSlotSharing() { Map<String, SlotSharingGroup> slotSharingGroups = new HashMap<>(); for (Entry<Integer, JobVertex> entry : jobVertices.entrySet()) { String slotSharingGroup = streamGraph.getStreamNode(entry.getKey()).getSlotSharingGroup(); SlotSharingGroup group = slotSharingGroups.get(slotSharingGroup); if (group == null) { group = new SlotSharingGroup(); slotSharingGroups.put(slotSharingGroup, group); } entry.getValue().setSlotSharingGroup(group); } for (Tuple2<StreamNode, StreamNode> pair : streamGraph.getIterationSourceSinkPairs()) { CoLocationGroup ccg = new CoLocationGroup(); JobVertex source = jobVertices.get(pair.f0.getId()); JobVertex sink = jobVertices.get(pair.f1.getId()); ccg.addVertex(source); ccg.addVertex(sink); source.updateCoLocationGroup(ccg); sink.updateCoLocationGroup(ccg); } }
sharingGroup = slotSharingGroups.computeIfAbsent( slotSharingGroupKey, (k) -> new SlotSharingGroup()); vertex.setSlotSharingGroup(sharingGroup); } else { sharingGroup = null;
sharingGroup = slotSharingGroups.computeIfAbsent( slotSharingGroupKey, (k) -> new SlotSharingGroup()); vertex.setSlotSharingGroup(sharingGroup); } else { sharingGroup = null;
vertex.setSlotSharingGroup(sharingGroup);
vertex.setSlotSharingGroup(sharingGroup);
vertex.setSlotSharingGroup(sharingGroup);
vertex.setSlotSharingGroup(sharingGroup);
vertex.setMaxParallelism(pd); vertex.setSlotSharingGroup(sharingGroup);
vertex.setMaxParallelism(pd); vertex.setSlotSharingGroup(sharingGroup);
vertex.setMaxParallelism(pd); vertex.setSlotSharingGroup(sharingGroup);
vertex.setMaxParallelism(pd); vertex.setSlotSharingGroup(sharingGroup);