@Internal public class InputPriorityConflictResolver extends InputPriorityGraphGenerator
InputPriorityGraphGenerator.
This class resolve conflicts by inserting a BatchExecExchange into the conflicting
input.
graph| Constructor and Description |
|---|
InputPriorityConflictResolver(List<org.apache.flink.table.planner.plan.nodes.exec.ExecNode<?,?>> roots,
ExecEdge.DamBehavior safeDamBehavior,
org.apache.flink.streaming.api.transformations.ShuffleMode shuffleMode)
Create a
InputPriorityConflictResolver for the given ExecNode graph. |
| Modifier and Type | Method and Description |
|---|---|
void |
detectAndResolve() |
protected void |
resolveInputPriorityConflict(org.apache.flink.table.planner.plan.nodes.exec.ExecNode<?,?> node,
int higherInput,
int lowerInput) |
createTopologyGraphpublic InputPriorityConflictResolver(List<org.apache.flink.table.planner.plan.nodes.exec.ExecNode<?,?>> roots, ExecEdge.DamBehavior safeDamBehavior, org.apache.flink.streaming.api.transformations.ShuffleMode shuffleMode)
InputPriorityConflictResolver for the given ExecNode graph.roots - the first layer of nodes on the output side of the graphsafeDamBehavior - when checking for conflicts we'll ignore the edges with ExecEdge.DamBehavior stricter or equal than thisshuffleMode - when a conflict occurs we'll insert an BatchExecExchange node with
this shuffleMode to resolve conflictpublic void detectAndResolve()
protected void resolveInputPriorityConflict(org.apache.flink.table.planner.plan.nodes.exec.ExecNode<?,?> node,
int higherInput,
int lowerInput)
resolveInputPriorityConflict in class InputPriorityGraphGeneratorCopyright © 2014–2021 The Apache Software Foundation. All rights reserved.