@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<ExecNode<?>> roots,
InputProperty.DamBehavior safeDamBehavior,
ShuffleMode shuffleMode,
Configuration configuration)
Create a
InputPriorityConflictResolver for the given ExecNode graph. |
Modifier and Type | Method and Description |
---|---|
void |
detectAndResolve() |
protected void |
resolveInputPriorityConflict(ExecNode<?> node,
int higherInput,
int lowerInput) |
createTopologyGraph
public InputPriorityConflictResolver(List<ExecNode<?>> roots, InputProperty.DamBehavior safeDamBehavior, ShuffleMode shuffleMode, Configuration configuration)
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 InputProperty.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(ExecNode<?> node, int higherInput, int lowerInput)
resolveInputPriorityConflict
in class InputPriorityGraphGenerator
Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.