@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,
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) |
createTopologyGraph
public InputPriorityConflictResolver(List<org.apache.flink.table.planner.plan.nodes.exec.ExecNode<?,?>> roots, ExecEdge.DamBehavior safeDamBehavior, 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 InputPriorityGraphGenerator
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.